lkml.org 
[lkml]   [2000]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: accept() improvements for rt signals

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/

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