View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000360 | 1003.1(2008)/Issue 7 | Base Definitions and Headers | public | 2010-12-17 21:02 | 2013-04-16 13:06 |
| Reporter | eblake | Assigned To | ajosey | ||
| Priority | normal | Severity | Editorial | Type | Error |
| Status | Closed | Resolution | Accepted As Marked | ||
| Name | Eric Blake | ||||
| Organization | Red Hat | ||||
| User Reference | ebb.ctermid | ||||
| Section | unistd.h | ||||
| Page Number | 443 | ||||
| Line Number | 15048 | ||||
| Interp Status | Approved | ||||
| Final Accepted Text | See 0000360:0000657 | ||||
| Summary | 0000360: ctermid should be optional in <unistd.h> | ||||
| Description | The standard is explicit that ctermid( ) is required to live in <stdio.h> and is an extension to the C standard, as seen in both XBD <stdio.h> line 11819 and in XSH termid SYOPSIS at line 24006. The standard also mentions that <unistd.h> must declare ctermid(); however, this does not match existing practice. On at least FreeBSD, ctermid( ) is not declared in <unistd.h>, but lives only in <stdio.h>. However, the cat is already out of the bag for namespace pollution, as at least glibc and Solaris declare ctermid( ) in both headers, so we must continue to permit this. [I noticed this issue because the ctermid( ) declaration was the only CX shaded line in <unistd.h>, but since that entire header is not mandated by C, it should not need any CX shading; deleting the problematic line happens to also solve the shading issue.] | ||||
| Desired Action | Delete line 15048 (ctermid declaration in XBD <unistd.h>). At line 15124 (<unistd.h>), add a sentence: Implementations may also include the ctermid( ) prototype as defined in <stdio.h>. | ||||
| Tags | tc1-2008 | ||||
|
|
Interpretation response ------------------------ The standard states that <unistd.h> shall include a function prototype for ctermid(), and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor. Rationale: ------------- Some implementations have had a declaration for ctermid() and this should still be allowed in Issue 7. Having ctermid() and pthread_atfork() prototypes in <unistd.h>, however, are namespace pollution issues that should be corrected in the next revision. Notes to the Editor (not part of this interpretation): ------------------------------------------------------- Delete line 15048 (ctermid declaration in XBD <unistd.h>). At line 15124 (<unistd.h>), add a sentence: Implementations may also include the ctermid( ) prototype as defined in <stdio.h>. Tag the entire paragraph starting on line 15124 including the above new sentence with the OB margin marking. |
|
|
Interpretation proposed 15 Mar 2011 for final 30 day review |
|
|
The interpretation is now approved. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2010-12-17 21:02 | eblake | New Issue | |
| 2010-12-17 21:02 | eblake | Status | New => Under Review |
| 2010-12-17 21:02 | eblake | Assigned To | => ajosey |
| 2010-12-17 21:02 | eblake | Name | => Eric Blake |
| 2010-12-17 21:02 | eblake | Organization | => Red Hat |
| 2010-12-17 21:02 | eblake | User Reference | => ebb.ctermid |
| 2010-12-17 21:02 | eblake | Section | => unistd.h |
| 2010-12-17 21:02 | eblake | Page Number | => 443 |
| 2010-12-17 21:02 | eblake | Line Number | => 15048 |
| 2010-12-17 21:02 | eblake | Interp Status | => --- |
| 2011-01-27 16:55 | Don Cragun | Interp Status | --- => Pending |
| 2011-01-27 16:55 | Don Cragun | Note Added: 0000657 | |
| 2011-01-27 16:55 | Don Cragun | Status | Under Review => Interpretation Required |
| 2011-01-27 16:55 | Don Cragun | Resolution | Open => Accepted As Marked |
| 2011-01-27 16:57 | Don Cragun | Final Accepted Text | => See 0000360:0000657 |
| 2011-01-27 16:57 | Don Cragun | Tag Attached: tc1-2008 | |
| 2011-01-27 16:59 | Don Cragun | Note Edited: 0000657 | |
| 2011-03-15 14:46 | ajosey | Interp Status | Pending => Proposed |
| 2011-03-15 14:46 | ajosey | Note Added: 0000705 | |
| 2011-04-26 15:11 | ajosey | Interp Status | Proposed => Approved |
| 2011-04-26 15:11 | ajosey | Note Added: 0000768 | |
| 2013-04-16 13:06 | ajosey | Status | Interpretation Required => Closed |