[PD-dev] network sockets (and Pd)

guenter geiger geiger at xdv.org
Mon Apr 21 17:21:28 CEST 2003


Hi Olaf,

On Linux you get SIGPIPE if the other end breaks the connection. In pd
this signal is handled by sys_exihandler.
In order to get rid of the signal you can set MSG_NOSIGNAL upon sending, I
think.

Greetings,

Guenter

------------------------------------------------------------------------
Music Technology Group - UPF, Barcelona <http://www.iua.upf.es/mtg/eng/>
AGNULA - A GNU Linux Audio distribution <www.agnula.org>
DeMuDi - Debian Multimedia Distribution <www.demudi.org>


On Mon, 21 Apr 2003, Olaf Matthes wrote:

> Hi again,
>
> it works now on Windows: after a while (when the send buffer is full) send()
> returns 0 and flashserver closes the socket.
>
> However, on Linux flashserver seems to call sys_exithandler() from s_inter.c.
> It then prints "Pd: signal 13" to the console window and Pd closes. I added
> "sigaction(SIGPIPE, &sa, (struct sigaction *)NULL);" to flashserver's new
> routine (not really knowing what I was doing, just guessing) and now I get
> "Pd: signal 2".
>
> Can somebody please explain to me what these numbers mean and (if possible)
> what I have to add to flashserver to prevent it from calling Pd's
> sys_exithandler()....?!
>
> thanks,
> Olaf
>
>
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.kug.ac.at
> http://iem.kug.ac.at/cgi-bin/mailman/listinfo/pd-dev
>





More information about the Pd-dev mailing list