Hello,
On Tue, 22 Feb 2000, Stephen C. Tweedie wrote:
> Hi,
>
> On Tue, 22 Feb 2000 17:38:45 +0200 (EET), Julian Anastasov
> <uli@linux.tu-varna.acad.bg> said:
>
> > Is there a known problem with O_NONBLOCK|O_ASYNC listening
> > sockets (2.2.15pre7 UP) ? I receive unexpected SIGIO after accept()
> > using such listening socket.
>
> I was able to reproduce this on sockets connected from localhost. Can
> you see if running the client and server on separate machines still
> causes the problem?
>
I have more information about the problem with the
unexpected SIGIO in 2.2.15pre7 UP x86.
After adding some debugging in the kernel I found that
send_sig_info() returns EPERM and send_sigio() fallbacks to
SIGIO delivery using "send_sig(SIGIO, p, 1);". I have stopped to
search the exact values used in the EPERM checking because I found
this posting from Alessandro Sala <a.sala@mclink.it> on 06-DEC-1999
with the subject:
"PROBLEM: Asynchronous I/O with realtime signals erroneously sends SIGIO".
http://kernelnotes.org/lnxlists/linux-kernel/lk_9912_01/msg01206.html
http://marc.theaimsgroup.com/?l=linux-kernel&m=94451812209885&w=2
The problem is described very well and I think I have
the same one. send_sigio() must pass the perm checking in
send_sig_info(). I didn't checked the corresponding 2.3 code. This
is the reason for the SIGIO. The event is for the listening fd. I
didn't checked if SIGIO is received for the connected socket.
Regards
-- Julian Anastasov <uli@linux.tu-varna.acad.bg>- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:32 EST