[Prev][Next][Index][Thread]

Re: FreeBSD Net error



> From: Voon-Li Chung <vlchung@cs.uwa.edu.au>
> Subject: FreeBSD Net error
> 
> I don't suppose anyone knows what the following error refers to:
> 
> "OSKIT_FREEBSD_NET_PSIGNAL called, proc=x0x85a78 sig=13"

Well, I spent just a few minutes looking. What I found is that SIGPIPE is
generated when sosend finds the socket in a disconnected or disconnecting
state (someone called shutdown on the socket, other side is disconnecting,
etc).

So, is it possible that a thread is sending to a socket that another thread
is shutting down (left hand not knowing what the right hand is doing), or
that you are sending to a socket whose other side is being shut down?

If you are using the FreeBSD socket calls, I don't think you can get the
first situation since the multithreaded C/POSIX libraries should lock the
fd during the shutdown or write. If you are talking to the COM objects
directly (oskit_socket_t), then you have to arrange for your own locking.
More likely its the second problem, or something else.

Hope this helps.

Lbs

---------------------------------------------------------------------------
Leigh B. Stoller                     Computer Science - Flux Research Group
stoller@cs.utah.edu                  University of Utah
http://www.cs.utah.edu/~stoller      Salt Lake City, Utah 84112
Voice: (541) 929-2666                FAX: (801) 585-3743
---------------------------------------------------------------------------