Am 10.12.2012 09:03, schrieb Denis Loh:
Hi Tommi,
a user reported, that my application crashed, when he tried to open a
stream with his PS3. I googled a bit and found out, that some clients
close the stream disruptively causing the TCP stream to signal a
broken pipe. As most of my clients work fine and I cannot reproduce
this error, I was hopping, that you could help me.
Hi Denis,
you must always call "::signal(SIGPIPE, SIG_IGN);" in your application.
If the peer closes the connection and you try to write to the socket,
your application gets a SIGPIPE. And default action is to stop the
application. If you set the signal handler to SIG_IGN to ignore the
signal, you get just an eof when writing.
The signal is set to SIG_IGN in the http server, jsonrcp server, binary
rpc server and tntnet. But if you just use the network classes, you have
to do it for your own.
A strong advise in the API documentation would be really helpful (just
as a reminder for me).
Tommi
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Tntnet-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tntnet-general