When using gnutv with "-out stdout" it doesn't exit when it's reader quits (i.e. and it gets an EPIPE/SIGPIPE). Signed-off-by: Brian J. Murrell <brian@xxxxxxxxxxxxxxx> --- --- linuxtv-dvb-apps-1.1.1+rev1273~/util/gnutv/gnutv_data.c 2011-11-28 09:10:33.010407011 -0500 +++ linuxtv-dvb-apps-1.1.1+rev1273/util/gnutv/gnutv_data.c 2011-11-28 09:10:26.446258282 -0500 @@ -265,7 +265,10 @@ while(written < size) { int tmp = write(outfd, buf + written, size - written); if (tmp == -1) { - if (errno != EINTR) { + if (errno == EPIPE) { + fprintf(stderr, "processing EPIPE\n"); + return 0; + } else if (errno != EINTR) { fprintf(stderr, "Write error: %m\n"); break; } --- linuxtv-dvb-apps-1.1.1+rev1273~/util/gnutv/gnutv.c 2011-11-28 10:13:13.294445131 -0500 +++ linuxtv-dvb-apps-1.1.1+rev1273/util/gnutv/gnutv.c.new 2011-11-28 10:13:10.510492321 -0500 @@ -262,7 +262,7 @@ // setup any signals signal(SIGINT, signal_handler); - signal(SIGPIPE, SIG_IGN); + signal(SIGPIPE, signal_handler); // start the CA stuff gnutv_ca_params.adapter_id = adapter_id;
Attachment:
signature.asc
Description: OpenPGP digital signature