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

Defect in XSH open

To: yyyyyyyyyyyyyyy@xxxxxxxxxxxxx
Subject: Defect in XSH open
From: Geoff Clare <yyy@xxxxxxxxxxxxx>
Date: Tue, 28 Feb 2006 16:56:44 +0000
@ page 850 line 27758-27759 section open comment [gwc open O_SYNC XSI]

Problem:

Defect code :  1. Error

In SUSv1, support for O_SYNC on regular files was mandatory.
In the current standard O_SYNC is part of the synchronized I/O option,
which is not one of the options mandated for XSI conformance, and
open() fails with EINVAL when O_SYNC is specified and the file does
not support synchronized I/O.  Thus support for O_SYNC on regular
files is now optional.

I doubt whether this change was intentional.  It appears to have
happened as a result of the way that POSIX.1-1996 was merged with
SUSv1 to form SUSv2.  The SUSv1 requirement could be reinstated
either by mandating the synchronized I/O option for regular files
on XSI systems, or by changing the shading for O_SYNC on the open()
page from SIO to SIO|XSI and adding some XSI-shaded text about its
use with regular files.  The former is a cleaner solution but does
more than just reinstate O_SYNC (it would also require O_DSYNC and
O_RSYNC to be supported for regular files).  The suggested edits
below are for the latter.

Action:

On line 27758 change the margin marker from SIO to SIO|XSI.

After line 27759 add (as part of the same paragraph):

    "[XSI] The O_SYNC flag shall be supported for regular files,
    even if the Synchronized Input and Output option is not
    supported.[/XSI]"

<Prev in Thread] Current Thread [Next in Thread>