Bug 170598 - aio_write() does not work after calling of aio_read() on the socket
Summary: aio_write() does not work after calling of aio_read() on the socket
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc   
(Show other bugs)
Version: 4
Hardware: i686
OS: Linux
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2005-10-13 11:30 UTC by Elena Vengerova
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-11-09 03:34:34 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Test reproducing the problem (1.07 KB, text/plain)
2005-10-13 11:32 UTC, Elena Vengerova
no flags Details

Description Elena Vengerova 2005-10-13 11:30:40 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:
Calling of aio_read() before aio_write() on the socket leads to "in progress" state of both requests, whereas calling of aio_write() before aio_read() leads to successful completion of write request and "in progress" state of read request.

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

How reproducible:

Steps to Reproduce:
1. Create pair of connected stream or datagram sockets.
2. Call aio_read() with correct buffer/length and none notification.
3. Call aio_write() with correct data/length and none notification.


Actual Results:  Data are not sent. aio_error() returns EINPROGRESS for both requests.

Expected Results:  Data should be sent, aio_error() should return 0 for write request and EINPROGRESS for read request.

Additional info:

Comment 1 Elena Vengerova 2005-10-13 11:32:27 UTC
Created attachment 119885 [details]
Test reproducing the problem

Comment 2 Ulrich Drepper 2005-11-09 03:34:34 UTC
The aio_* functions operate on files, not sockets, pipes, or whatever else.  The
implementation works correctly for files.

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