mirror of
https://gitlab.xiph.org/xiph/ezstream.git
synced 2024-11-03 04:17:18 -05:00
Ignore SIGPIPE, which turned out to be the cause for silent deaths of long-
running ezstream processes. git-svn-id: https://svn.xiph.org/trunk/ezstream@14255 0101bb08-14d6-0310-b084-bc0e0c8e3800
This commit is contained in:
parent
0856c44749
commit
ddb6c4091f
8
NEWS
8
NEWS
@ -1,3 +1,11 @@
|
||||
Changes in 0.5.3 (SVN):
|
||||
|
||||
* src/ezstream.c:
|
||||
- [FIX] Prevent (very) long-running ezstream processes from dying without
|
||||
error message by ignoring SIGPIPE where available.
|
||||
|
||||
|
||||
|
||||
Changes in 0.5.2, released on 2007-11-04:
|
||||
|
||||
* src/ezstream.c:
|
||||
|
@ -134,6 +134,10 @@ int ez_shutdown(int);
|
||||
#ifdef HAVE_SIGNALS
|
||||
void sig_handler(int);
|
||||
|
||||
# ifndef SIG_IGN
|
||||
# define SIG_IGN (void (*)(int))1
|
||||
# endif /* !SIG_IGN */
|
||||
|
||||
void
|
||||
sig_handler(int sig)
|
||||
{
|
||||
@ -1250,6 +1254,16 @@ main(int argc, char *argv[])
|
||||
return (ez_shutdown(1));
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Ignore SIGPIPE, which has been seen to give a long-running ezstream
|
||||
* process trouble. EOF and/or EPIPE are also easier to handle.
|
||||
*/
|
||||
act.sa_handler = SIG_IGN;
|
||||
if (sigaction(SIGPIPE, &act, NULL) == -1) {
|
||||
printf("%s: sigaction(): %s\n",
|
||||
__progname, strerror(errno));
|
||||
return (ez_shutdown(1));
|
||||
}
|
||||
#endif /* HAVE_SIGNALS */
|
||||
|
||||
if (shout_open(shout) == SHOUTERR_SUCCESS) {
|
||||
|
Loading…
Reference in New Issue
Block a user