[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
---------------------------------------------------------------------------