Email List: Xaustin-review-lX
[All Lists]

Defect in XSH fork()

To: yyyyyy@xxxxxxxxxxxxx
Subject: Defect in XSH fork()
From: yyyyyyy@xxxxxxxxxx
Date: Wed, 4 Jan 2006 08:48:16 GMT
Resent-date: Thu, 5 Jan 2006 16:15:08 +0000
Resent-from: Andrew Josey <yyyyyy@xxxxxxxxxxxxxxxxx>
Resent-message-id: <1060105161508.ZM5146@xxxxxx>
Resent-to: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
        Defect report from : Ulrich Drepper , Red Hat, Inc.

(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)

@ page 403 line 13030 section fork() objection [ud-fork-aio]

Problem:

Edition of Specification (Year): 2004

Defect code :  2. Omission

The spec says that no AIO request is inherited by the child after fork.
It further says that after fork() and before an exec function only
async-safe interfaces can be called.

Unfortunately aio_error(), aio_return(), and aio_suspend() fall into
this category.  It is OK to call these functions.

What isn't specified is what the state of the aio control blocks is and
therefore how these functions have to behave.


Action:

One possible solution is to declare all control blocks invalid and require that 
EINVAL is returned.  In this case add at the end of line 13030:

All aio control blocks are marked invalid.


Another possibility is that all requeuests are assumed to be canceled.
In this case add at the end of 13030:

All outstanding AIO requests are marked as canceled.

<Prev in Thread] Current Thread [Next in Thread>
  • Defect in XSH fork(), drepper <=