ignore SIGPIPE by default; it is handled via EPIPE

pull/1/head
dscho 21 years ago
parent c4a0223e38
commit d58d3af1ce

@ -638,6 +638,8 @@ rfbScreenInfoPtr rfbGetScreen(int* argc,char** argv,
/* initialize client list and iterator mutex */
rfbClientListInit(rfbScreen);
rfbScreen->ignoreSIGPIPE = TRUE;
return(rfbScreen);
}
@ -747,6 +749,8 @@ void rfbScreenCleanup(rfbScreenInfoPtr rfbScreen)
#endif
}
static void ignoreSignal(int dummy) {}
void rfbInitServer(rfbScreenInfoPtr rfbScreen)
{
#ifdef WIN32
@ -755,6 +759,8 @@ void rfbInitServer(rfbScreenInfoPtr rfbScreen)
#endif
rfbInitSockets(rfbScreen);
httpInitSockets(rfbScreen);
if(rfbScreen->ignoreSIGPIPE)
signal(SIGPIPE,ignoreSignal);
}
#ifndef LIBVNCSERVER_HAVE_GETTIMEOFDAY

@ -274,6 +274,7 @@ typedef struct _rfbScreenInfo
rfbBool backgroundLoop;
#endif
rfbBool ignoreSIGPIPE;
} rfbScreenInfo, *rfbScreenInfoPtr;

Loading…
Cancel
Save