https://bugs.exim.org/show_bug.cgi?id=2114
Bug ID: 2114
Summary: pipe transport timeout has no effect when parent
process exits while child continues to run
Product: Exim
Version: 4.88
Hardware: All
OS: All
Status: NEW
Severity: bug
Priority: medium
Component: Transports
Assignee: nigel@???
Reporter: rtc@???
CC: exim-dev@???
I have the following router:
virtual_faxtest:
driver = accept
domains = faxtest.example.com
transport = faxtest_delivery
cannot_route_message = Test router error
and this transport:
faxtest_delivery:
driver = pipe
command = /home/pbackes/send_faxtest.php
timeout = 10s
return_fail_output
#log_fail_output
#log_defer_output
log_output
temp_errors = 73 : 75 : 255
message_prefix =
message_suffix =
with send_faxtest.php being:
#!/usr/local/bin/php
<?php
$mail_conv = proc_open("/home/pbackes/idle",array(0 => array('pipe','r'),1 =>
array('pipe','w')),$pipes,'/tmp');
exit(1);
?>
and idle being compiled idle.c:
int main(void)
{
for (;;)
continue;
}
Then, when I send email to test@???, idle keeps running despite
the timeout of 10 seconds, and the exim delivery process (/usr/local/sbin/exim
-Mc $ID) keeps running indefinitely. I have to kill -9 the idle process
manually. The timeout should be honored.
Using "for (;;) continue;" instead of "exit(1);" in send_faxtest.php and
everything (obviously) works as it should.
$ uname -a
FreeBSD localhost 10.3-RELEASE-p11 FreeBSD 10.3-RELEASE-p11 #0: Mon Oct 24
18:49:24 UTC 2016
root@???:/usr/obj/usr/src/sys/GENERIC amd64
$ exim --version
Exim version 4.88 #0 (FreeBSD 10.1) built 01-Feb-2017 18:17:34
Copyright (c) University of Cambridge, 1995 - 2016
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2016
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl Expand_dlfunc
OpenSSL Content_Scanning DKIM DNSSEC Event OCSP PRDR Experimental_SPF
Experimental_SRS Experimental_DANE Experimental_DMARC
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz
dbmnz dnsdb dsearch mysql passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Configure owner: 0:0
Size of off_t: 8
2017-05-02 14:40:12 Warning: purging the environment.
Suggested action: use keep_environment.
Configuration file is /usr/local/etc/exim/configure
--
You are receiving this mail because:
You are on the CC list for the bug.