Closed gregoa closed 4 months ago
I see the same. There's an exponential backoff that caps at 0.5s, so detecting command completion can take up to 0.5s extra:
$ IPCRUNDEBUG=gory time -p perl -MIPC::Run=run -e "run('sleep 2')" 2>&1 |grep timeout=
IPC::Run 0000 0123-------- [#1(2879835)]: timeout=0.01
IPC::Run 0000 0123-------- [#1(2879835)]: timeout=0.02
IPC::Run 0001 0123-------- [#1(2879835)]: timeout=0.04
IPC::Run 0001 0123-------- [#1(2879835)]: timeout=0.08
IPC::Run 0001 0123-------- [#1(2879835)]: timeout=0.16
IPC::Run 0001 0123-------- [#1(2879835)]: timeout=0.32
IPC::Run 0001 0123-------- [#1(2879835)]: timeout=0.5
IPC::Run 0002 0123-------- [#1(2879835)]: timeout=0.5
IPC::Run 0002 0123-------- [#1(2879835)]: timeout=0.5
otherwise. On non-Windows, you can get most of the improvement, without waiting
for the next release, by adding $SIG{CHLD} = sub {};
in your application. For
background, see the comment added in commit fc9288c.
We have the following bug reported to the Debian package of IPC-Run, c.f. https://bugs.debian.org/1021794
It doesn't seem to be a bug in the packaging, so you may want to take a look. Thanks!
------8<-----------8<-----------8<-----------8<-----------8<-----
------8<-----------8<-----------8<-----------8<-----------8<-----
Thanks for considering, gregor herrmann, Debian Perl Group