Bug 170116 - aio_sigevent in aio control block is ignored if request is posted using lio_listio()
Summary: aio_sigevent in aio control block is ignored if request is posted using lio_l...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: 4
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-10-07 14:32 UTC by Elena Vengerova
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version: 2.3.90-26
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-01-04 12:41:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Elena Vengerova 2005-10-07 14:32:23 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Fedora/1.7.8-2

Description of problem:
In fact, I'm not sure that it is a bug. From lio_listio man it is not clear if it is allowed to specify different notification for separate requests posted using lio_listio or not.

From the one hand it is specified that ""If sig is NULL, then no  asynchronous  notification  shall  occur."

From the other hand in the description of EINTR error description it is stated that "Note  that,  since  each  I/O  operation invoked  by lio_listio()  may  possibly  provoke a signal when it completes ...". How the request may provoke the signal is it's not allowed to specify the separate notification for it?



Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Create the socket, connect it.
2. Construct aio control block with SIGEV_SIGNAL or SIGEV_THREAD notification.
3. Post the aio request using aio_read - the completion notification is received.
4. Post the aio request using lio_listio(LIO_NOWAIT) - no completion notification is received.

Expected Results:  IMHO all per-request notifications (if specified) and notification specified in sig parameter of lio_listio() should be delivered.

Additional info:

Comment 3 Jakub Jelinek 2006-01-04 12:41:52 UTC
Should be fixed in glibc-2.3.90-26 in rawhide.


Note You need to log in before you can comment on or make changes to this bug.