lkml.org 
[lkml]   [2000]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.4.0-test6 network socket problems
I've found the problem.  This type of loop does not work:

do {
alarm(t);
read(fd);
if (EINT)
exception();
else
alarm(0);
} while (data);

There are some semantics here that differ from other *nix where this
works. The read() won't come out when the alarm comes, and the socket
will effectively become broken.

Instead, it appears that I needed to use select(), which probably would
have been better in the first place anyway.

Thanks to anyone that took the time to look at this.

-S-



> I'm working with test6 on an embedded
> QED MIPS arch in big endian mode. I
> have run into some bizarre socket problems that appear to affect both
> udp and tcp transport. Applications actively using sockets (examples,
> ftp, tftp, others...) will unexpectedly stop receiving data on the
> socket, even though data is present. The process will be forever
> sleeping on the read even though data is queued up. To illustrate my
> point, I've dug deep into the udp code (net/ipv4/udp.c) and the
> datagram core (net/core/datagram.c) researching the simple tftp
> example.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:45    [W:0.162 / U:1.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site