Commit d58d3af1 authored by dscho's avatar dscho

ignore SIGPIPE by default; it is handled via EPIPE

parent c4a0223e
...@@ -638,6 +638,8 @@ rfbScreenInfoPtr rfbGetScreen(int* argc,char** argv, ...@@ -638,6 +638,8 @@ rfbScreenInfoPtr rfbGetScreen(int* argc,char** argv,
/* initialize client list and iterator mutex */ /* initialize client list and iterator mutex */
rfbClientListInit(rfbScreen); rfbClientListInit(rfbScreen);
rfbScreen->ignoreSIGPIPE = TRUE;
return(rfbScreen); return(rfbScreen);
} }
...@@ -747,6 +749,8 @@ void rfbScreenCleanup(rfbScreenInfoPtr rfbScreen) ...@@ -747,6 +749,8 @@ void rfbScreenCleanup(rfbScreenInfoPtr rfbScreen)
#endif #endif
} }
static void ignoreSignal(int dummy) {}
void rfbInitServer(rfbScreenInfoPtr rfbScreen) void rfbInitServer(rfbScreenInfoPtr rfbScreen)
{ {
#ifdef WIN32 #ifdef WIN32
...@@ -755,6 +759,8 @@ void rfbInitServer(rfbScreenInfoPtr rfbScreen) ...@@ -755,6 +759,8 @@ void rfbInitServer(rfbScreenInfoPtr rfbScreen)
#endif #endif
rfbInitSockets(rfbScreen); rfbInitSockets(rfbScreen);
httpInitSockets(rfbScreen); httpInitSockets(rfbScreen);
if(rfbScreen->ignoreSIGPIPE)
signal(SIGPIPE,ignoreSignal);
} }
#ifndef LIBVNCSERVER_HAVE_GETTIMEOFDAY #ifndef LIBVNCSERVER_HAVE_GETTIMEOFDAY
......
...@@ -274,6 +274,7 @@ typedef struct _rfbScreenInfo ...@@ -274,6 +274,7 @@ typedef struct _rfbScreenInfo
rfbBool backgroundLoop; rfbBool backgroundLoop;
#endif #endif
rfbBool ignoreSIGPIPE;
} rfbScreenInfo, *rfbScreenInfoPtr; } rfbScreenInfo, *rfbScreenInfoPtr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment