Bug#1021794: libipc-run-perl: delay after child exit
Jakub Wilk
jwilk at jwilk.net
Fri Oct 14 20:50:57 BST 2022
Package: libipc-run-perl
Version: 20220807.0-1
I've noticed that IPC::Run::run() sometimes takes significantly more
time than the child process itself. For example:
$ time -p perl -MIPC::Run=run -e "run('sleep 0.7')"
real 1.18
user 0.03
sys 0.01
This is how it looks under strace:
$ strace -T -e trace=pselect6 perl -MIPC::Run=run -e "run('sleep 0.7')"
[ Process PID=8271 runs in 32 bit mode. ]
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=100000}, NULL) = 0 (Timeout) <0.000164>
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=100000}, NULL) = 0 (Timeout) <0.000161>
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=100000}, NULL) = 0 (Timeout) <0.000160>
...
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=100000}, NULL) = 0 (Timeout) <0.000248>
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=100000}, NULL) = 0 (Timeout) <0.000212>
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=500000000}, NULL) = ? ERESTARTNOHAND (To be restarted if no handler) <0.031700>
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=8272, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=468403068}, NULL) = 0 (Timeout) <0.469205>
+++ exited with 0 +++
So there's nearly half a second delay after the child exits.
-- System Information:
Architecture: i386
Versions of packages libipc-run-perl depends on:
ii perl 5.34.0-5
ii libio-pty-perl 1:1.15-2+b1
--
Jakub Wilk
More information about the pkg-perl-maintainers
mailing list