It would seem so. I run the script under strace and found that the qx op doesn't use fork syscall on my perl (Ubuntu Hardy), but clone syscall:
21696 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETT +ID|SIGCHLD, child_tidptr=0x7f6015248770) = 21697 21697 close(5) = 0 21697 fcntl(6, F_SETFD, FD_CLOEXEC) = 0 21697 dup2(4, 1) = 1 21697 close(4) = 0 21697 close(3) = 0 21697 rt_sigaction(SIGFPE, {SIG_DFL}, {SIG_IGN}, 8) = 0 21697 execve("./my_program", ["./my_program"], [/* 11 vars */] <unfini +shed ...>
21742 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETT +ID|SIGCHLD, child_tidptr=0x7f4143c25770) = -1 EAGAIN (Resource tempor +arily unavailable) 21742 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 21742 rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0 21742 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 21742 nanosleep({5, 0}, <unfinished ...>
The problem is that the nanosleep syscall should not be happening.
In reply to Re^2: Ulimit makes program hang (bug)
by alexm
in thread Ulimit makes program hang
by memo2005
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |