Minutes of the 24 March 2011 Teleconference Austin-516 Page 1 of 1
Submitted by Andrew Josey, The Open Group. March 25 , 2011
Attendees
Andrew Josey, The Open Group
Don Cragun, PASC OR
Jim Pugsley, Oracle
Geoff Clare, The Open Group
Mark Brown, IBM, TOG OR
Eric Blake, Red Hat
Darrell May, Oracle
Nick Stoughton, USENIX, ISO/IEC OR
* New Business
Bug 0000370: addclose should not cause posix_spawn to fail if closing an already closed fd
http://austingroupbugs.net/view.php?id=370
Jim raised an issue with Bug 370 which had been closed as change
for Issue 8. There are now implementations that implement this
behavior, and thus he asked if the group would consider
issuing an interpretation to recognize this as
a defect and permit the behaviour for Issue 7.
It was agreed that Bug 370 should be turned into an interpretation.
Interpretation response
The standard states that posix_spawn() must fail with an EBADF error
if a request is made to close a file descriptor that is already
closed, and conforming implementations must conform to this. However,
concerns have been raised about this which are being referred to
the sponsor.
Rationale:
There are existing implementations that behave this way and there
is no reason why this should be disallowed.
Notes to the Editor (not part of this interpretation):
Make the changes presented in the Desired Action section.
TC1 status:
Andrew reported that the editors were now in the process of preparing
the Technical Corrigendum 1 to the 2008 edition of the standard.
Currently in the pipeline are 235 bugs, and the editors had
completed approximately 25% of those at the time of the meeting.
The plan is to have a complete draft TC for April 15 -- note that
the changes at that time will not yet be integrated into a full draft.
In the course of preparing the TC , two conflicting changes
had been found for the dlerror function.
The changes with the agreed updates are included below:
------------------
Change Number: XSH/TC1/D1/nn [75]
On Page: 730 Line: 24542 Section: dlerror
In the RETURN VALUE section, add a new paragraph at the end of the section:
"The application shall not modify the string returned. The
returned pointer might be invalidated or the string content might
be overwritten by a subsequent call to dlerror()."
>>>>>
This change will need to be modified to account for the buffer being
allowed to be per-thread. Change to:
... overwritten by a subsequent call to dlerror() in the same
thread (if dlerror() is thread-safe) or in any thread (if dlerror()
is not thread-safe).
<<<<<<
On Page: 730 Line: 24555 Section: dlerror
In the APPLICATION USAGE section, delete the following:
The messages returned by dlerror() may reside in a static buffer
that is overwritten on each call to dlerror(). Application code
should not write to this buffer. Programs wishing to preserve an
error message should make their own copies of that message."
>>>>>>
Keep this change.
<<<<<<
Change Number: XSH/TC1/D1/nn [97]
On Page: 730 Line: 24539 Section: dlerror
In the DESCRIPTION section, change from:
The dlerror() function need not be thread-safe.
to:
It is implementation-defined whether or not the dlerror() function is
thread-safe. A thread-safe implementation shall return only errors that
occur on the current thread.
>>>>>
Keep this change.
<<<<<
On Page: 730 Lines: 24555-24560 Section: dlerror
In the APPLICATION USAGE section , change from
The messages returned by dlerror() may reside in a static buffer
that is overwritten on each call to dlerror().
to:
The messages returned by dlerror() reside in a buffer that is either
system wide or thread wide that may be overwritten on each call to
dlerror().
>>>>>>
This change is not needed as the text will be deleted by the
change in the other bug.
<<<<<
Andrew will add notes to the Mantis bugs to record the updates required.
* We picked up on regular Bug processing
Bug 0000251: Forbid bytes 1 through 31 (inclusive) in filenames OPEN
http://austingroupbugs.net/view.php?id=251
Don reported that he is still working on this item.
Bug 0000385: free should not change errno on success Accepted as Marked
http://austingroupbugs.net/view.php?id=385
Eric completed his action from last time.
There were some comments on the web which we took into
account, modifying the bug.
At line 30583 [XSH free DESCRIPTION], add a paragraph with CX shading:
The free() function shall not modify errno if ptr is a null pointer
or a pointer previously returned as if by malloc() and not yet deallocated.
At line 30591 [APPLICATION USAGE], add a new paragraph:
Because the free() function does not modify errno for valid pointers, it
is safe to use it in cleanup code without corrupting earlier errors, such
as in this example code:
// buf was obtained by malloc(buflen)
ret = write(fd, buf, buflen);
if (ret < 0) {
free(buf);
return ret;
}
However, earlier versions of this standard did not require this, and the
same example had to be written as:
// buf was obtained by malloc(buflen)
ret = write(fd, buf, buflen);
if (ret < 0) {
int save = errno;
free(buf);
errno = save;
return ret;
}
At line 30620 [freeaddrinfo DESCRIPTION], add a sentence:
The freeaddrinfo() function shall not modify errno if ai is a sublist
previously returned by getaddrinfo() and not yet freed.
At line 30834 [freelocale DESCRIPTION], add a sentence:
The freelocale() function shall not modify errno if locobj is a
locale object previously returned by newlocale() or duplocale() and not
yet released by freelocale() or newlocale().
At line 36254 [glob DESCRIPTION], add a sentence:
The globfree() function shall not modify errno if pglob was
previously used by glob() and not yet freed.
At line 36873 [if_freenameindex DESCRIPTION], add a sentence:
The if_freenameindex() function shall not modify errno if ptr was
previously returned by if_nameindex() and not yet freed.
At line 56540 [regcomp DESCRIPTION], add a sentence:
The regfree() function shall not modify errno if preg was
previously returned by regcomp() and not yet freed.
At line 70965 [wordexp DESCRIPTION], add a sentence:
The wordfree() function shall not modify errno if pwordexp was
previously modified by wordexp() and not yet freed.
Bug 0000376: dev_t should be integral Accepted as Marked
http://austingroupbugs.net/view.php?id=376
An interpretation is required. This item is tagged TC1-2008.
Interpretation response:
The standard states that dev_t is allowed to be a floating type,
and conforming applications must conform to this. However, concerns
have been raised about this which are being referred to the sponsor.
Rationale:
Although dev_t is allowed to be a floating type, all known
implementations use an integral type and many applications assume
that it is an integral type.
Notes to the Editor (not part of this interpretation):
Between lines 13415 and 13416 [XBD DESCRIPTION], add
a bullet:
* dev_t shall be an integer type.
At line 18820 [XSH 2.12.1 Defined Types], change from:
dev_t Arithmetic type used for device numbers.
to:
dev_t Integer type used for device numbers.
Bug 0000379: rename() ETXTBSY description talks about the wrong argument Accepted
http://austingroupbugs.net/view.php?id=379
This item is tagged for TC1-2008
Bug 0000386: environ should be declared in
http://austingroupbugs.net/view.php?id=386
This item is tagged for TC1-2008
At line 25708, change "In addition, the following variable:" to
"In addition, the following variable, which must be declared by the user if it is to be used directly:"
Bug 0000374: malloc(0) and realloc(p,0) must not change errno on success OPEN
http://austingroupbugs.net/view.php?id=374
It was agreed that we need to split this into two bugs. A note
was added to this bug.
The issue of leaving errno unchanged on successful allocation is only
appropriate for Issue 8; and this bug should not be resolved until
after 0000400 regarding the conflict between C99 and POSIX on realloc
behavior has been fixed first in TC1.
Next Steps
----------
The next call will be on March 31st at 08:00 Pacific and
will continue processing defect reports.
This call will be for the regular 90 minutes.
http://austingroupbugs.net
See the calendar for the list of dialup numbers.
An IRC channel will be available for the meeting
irc://irc.freestandards.org #austin
ICAL: http://www.google.com/calendar/ical/nvctqtstkuni3fab9k3jqtrt4g@group.calendar.google.com/public/basic
XML: http://www.google.com/calendar/feeds/nvctqtstkuni3fab9k3jqtrt4g@group.calendar.google.com/public/basic