Bugfix ... don't override handler for sigpipe if one is set.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17902 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
CaS 2003-10-16 15:48:48 +00:00
parent bd9830583d
commit 0cd5b3a710
5 changed files with 43 additions and 12 deletions

View file

@ -257,11 +257,16 @@ getAddr(NSString* name, NSString* svc, NSString* pcl, struct sockaddr_in *sin)
if (self == [GSFileHandle class])
{
#if !defined(__MINGW__)
void (*handler)(int);
/*
* If SIGPIPE is not ignored, we will abort on any attempt to
* write to a pipe/socket that has been closed by the other end!
* If SIGPIPE is not handled or ignored, we will abort on any attempt
* to write to a pipe/socket that has been closed by the other end!
*/
signal(SIGPIPE, SIG_IGN);
handler = signal(SIGPIPE, SIG_IGN);
if (handler != SIG_DFL)
{
signal(SIGPIPE, handler);
}
#endif
}
}