EDEADLK and recvfrom(2), connect(2), and/or socket(2)

Gary Jennejohn garyj at jennejohn.org
Wed Jun 4 04:18:14 PDT 2003


"Ernest H. Rice, III" writes:
> I have a network application which has been ported to several Unixes, 
> including SVR4, UW711, AIX, HP-UX, SunOs, Linux, etc.
> 
> When ported to FreeBSD, it dies periodically with EDEADLK (errno 11).
> I have attempted to isolate the problem. So far it has eluded me since the 
> application may run for days - even weeks - before failing. 
> 
> The application runs for months under other Unixes, and has never died with 
> EDEADLK (or the old EAGAIN).
> 
> The program in question opens sockets, connects to services, etc. Much like a
>  
> ping would.
> 
> If anyone can shed some light on how to approach debugging this it would be 
> greatly appreciated!
> 

IMO the first step would be to grep over /usr/src to determine where
EDEADLK is returned (not that many places) and then figure out which
of those places your code may be invoking.

It's probable that 5.x and 4.x are different.

---
Gary Jennejohn / garyj at jennejohn.org gj at freebsd.org gj at denx.de



More information about the freebsd-ports mailing list