This is a minor annoyance, but sipp changes stdio to nonblocking when invoked like this:
fcntl(fileno(stdin), F_SETFL, fcntl(fileno(stdin), F_GETFL) | O_NONBLOCK);
That is fine if sipp is invoked from a shell, as the shell will (hopefully) restore stdin to blocking state when sipp exits. If invoked from an interactive perl script via a system command, as I was doing, sipp leaves the stdin non-blocking when it exits. Which results in the perl script getting undef when attempting to collect input. This can be worked around by making sipp take input from /dev/null, but it would be a nicer behavior if there were an atexit function or some such that restored stdin to its initial state when sipp was invoked.
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
Last edit: Anonymous 2019-01-24
View and moderate all "bugs Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Bugs"
BTW this is version: SIPp v3.1-PCAP, version unknown, built Apr 28 2010, 08:46:05.
Last edit: Anonymous 2019-01-24
busybox ash does not reset the stdin.
See http://bugs.alpinelinux.org/issues/2259
Attached is a patch against current git that fixes the issue using atexit(3).
Thanks for this - I'll try to test and apply it this week.
Now in SIPp 3.4 beta1.