View Issue Details

IDProjectCategoryView StatusLast Update
00007191003.1(2013)/Issue7+TC1Base Definitions and Headerspublic2013-07-11 15:39
Reporterbgolaszewski Assigned To 
PrioritynormalSeverityObjectionTypeEnhancement Request
Status ClosedResolutionRejected 
NameBartosz Golaszewski
Organization
User Reference
Sectionhcreate, hdestroy, hsearch
Page Numberunknown
Line Numberunknown
Interp Status---
Final Accepted TextSee 0000719:0001670
Summary0000719: hsearch should allow user to remove individual entries
DescriptionHashmap functions don't allow individual entries to be removed. This is a major limitation and often renders this interface useless.
Desired ActionIntroduce a REMOVE action (new enum field for ACTION), that would cause hsearch to remove the object associated with given key - freeing the slot - or return a NULL pointer in case of an unsuccessful resolution.
TagsNo tags attached.

Activities

nick

2013-07-03 14:51

manager   bugnote:0001662

Please see http://www.opengroup.org/austin/docs/austin_sd6.txt and consult the paragraph entitled "New Work Items". I'll quote it here to help remind people how to introduce new material:

From time to time, a defect report may propose new work
items that are outside the scope of maintenance of the Austin Group
specifications. This section addresses how these are handled.

The Austin Group is not a development body for new material apart from
integration issues arising from the merger of the approved standards
that were the Base documents into the revision.

The Austin Group expects to take a similar approach for a future revision.
Thus if a defect report raises the possibility of new interfaces
for inclusion, the standard response will be that it is out of scope
for either a TC or Interpretation, and that if the new material were
to meet the some criteria it may be considered for inclusion in a
future revision subject to the agreed scope determined at that time,
although there is no guarantee.

The recommended criteria for development of new interfaces to enable
them to be considered for inclusion in a future revision are as follows:

1.There must be a written specification that has undergone a formal
consensus based approval process and is suitable for inclusion.

Parties interested in submitting new work items through one of the
three organizations within the Austin Group (The Open Group, IEEE, ISO/IEC)
should contact the appropriate Organizational Representative for further
information and advice on how each organization handles new work items.
Submissions from other organizations will also be considered.
Items 2 through 4 below apply to all submissions regardless of
origin.

2.There must be an implementation, preferably a reference implementation.

3.The specification must be "sponsored" by one of three organizations
(The Open Group, IEEE, ISO/IEC) within the Austin Group, i.e. they would
support and champion its inclusion.

4.Submitters must provide an outline plan of the editing instructions to
merge the document with the Austin Group specifications, and assistance
to the Austin Group editors as required to complete the merger.
For an example, see

https://collaboration.opengroup.org/platform/single_unix_specification/protected/mailarch.php?soph=N&action=show&archive=austin-group-l&num=434 [^]

or
https://collaboration.opengroup.org/sophocles/mailarch.php?soph=Y&action=show&archive=austin-group-l&num=434 [^]

bgolaszewski

2013-07-04 13:55

reporter   bugnote:0001663

Thank you for the answer, but I can't open the examples you have attached - access to them seems to be restricted.

nick

2013-07-11 15:36

manager   bugnote:0001670

This is outside the scope of maintenance of the Austin Group
specifications. Please submit a proposal to one of the three sponsor organizations following the guidelines in SD6.

ajosey

2013-07-11 15:39

manager   bugnote:0001671

For your information, attached is an example integration plan.
This was for integrating P1003.1d into an earlier draft




_____________________________________________
1003.1d-d14 Additional Realtime Extensions


1. The terms "Spawn", "Timeouts", "Execution Time Monitoring",
   "Sporadic Server", "Advisory Information" described in the scope on
   page 2 of 1003.1d/d14 should be added to the definitions section of
   XBD.


2. 1003.1d adds new options

   These will need to be integrated into the Codes section 1.3.1 in XBD.
   We'll need to make up three letter acronyms
        _POSIX_ADVISORY_INFO ADV
        _POSIX_CPUTIME CPT
        _POSIX_SPAWN SPN
        _POSIX_SPORADIC_SERVER SS
        _POSIX_THREAD_CPUTIME TCT
        _POSIX_THREAD_SPORADIC_SERVER TSP
        _POSIX_TIMEOUTS TMO

   These will need to be added to the "one or more options" in 2.1.3.1
   and described in 2.1.6 options.

3. Add the general terms CPU time, CPU-time lock, CPU-time timer and
   execution time to XBD definitions, with the option markers
   CPT|TCT|SS|TSP

4. Add general concepts to new general concepts section (to be
   added in D3 after the definitions in XBD).

5. Update the headers in XBD - fcntl.h, mqueue.h pthread.h
   semaphore.h , stdlib.h and time.h with additional functions

   Add the new header spawn.h.

   Note that the shading will need be enumerated for these additions


6. Update limits.h with the new numerical limits


7. The variable names in Table 2-7 need to be added to the fpathconf
   man page with appropriate shading based on the option.

   The contents of this table are also added into the limits.h header
   section "Path Name Variable Values"


8. The symbolic constants in table 2-11 are added to unistd.h section
   "Constants for Options and Option Groups". The values of these
   symbols if defined, shall be 200ymmL (the date of approval of the
   POSIX.1 revision).

   Note: The POSIX.1 revision should harmonize the use of option
   symbols for all the options. Therefore, a version value should be
   provided for all the defined symbols, in a consistent way.

   Also add the text in 2.9.3, lines 217-222, with dependencies
   between the different options, into the conformance section of the
   Base definitions (yet to be confirmed)

9. Update the fork() pages with additional text shaded and marked
   as per the option (3.1.1)

10. Update the exec pages (3.1.2.2) with additional text shaded
   and marked as per the option.

11. Add a new man page containing the following functions

    posix_spawn_file_actions_init(),
    posix_spawn_file_actions_destroy(),
    posix_spawn_file_actions_addclose(),
    posix_spawn_file_actions_adddup2(),
    posix_spawn_file_actions_addopen(),

   The synopsis of this page is marked with the SPN (_POSIX_SPAWN)
   option.

12. Add a new man page containing

   posix_spawnatrr_init()
   posix_spawnattr_destroy()

13. Add a new man page containing

   posix_spawnattr_getflags()
   posix_spawnattr_setflags()

14. Add a new man page containing

   posix_spawnattr_getpgroup()
   posix_spawnattr_setpgroup()

15. Add a new man page containing

   posix_spawnattr_getsigmask()
   posix_spawnattr_setsigmask()

16. Add a new man page containing

   posix_spawnattr_getdefault()
   posix_spawnattr_setdefault()

17. Add a new man page containing

   posix_spawnattr_getschedpolicy()
   posix_spawnattr_setschedpolicy()

18. Add a new man page containing

   posix_spawnattr_getschedparam()
   posix_spawnattr_setschedparam()

19. Add a new man page containing

   posix_spawn()
   posix_spawnp()

20. Update the wait() man page with new text shaded with the SPN
    marker as per 3.2

21. Add configurable system variables in table 4-3 to the sysconf
    manual page, shading as per option

    Need to add text in 4.8.1.2 esp lines 6-8.

    These symbols are also added to unistd.h

22. Add configurable pathname variables to fpathconf man page
    shading as per option
   (interestingly other amendments have these Variables named _POSIX_
   but 1d has them named POSIX (no leading underscore)).

   Need to add text in 5.7.1 esp lines 6-8

23. At line 1840 in section 2.8.2 Asynchronous I/O
    make the change in 6.7.1.1

24. Add sem_timedwait to the semaphore.h header in XBD

25. Add man page sem_timedwait() marked with the options
add the function prototype to the semaphore.h header

26. Apply the change in 11.2.7.2 to the sem_post() man page

27. Add pthread_mutex_timedlock() man page with text from 11.3.3.1

    Add the function prototype to the pthread.h header


28. Add 13.1 to the sched.h header

29. Add 13.2 to section 2.8.4 in XSH, add text 13.2.3,13.2.4, also
    into section 2.8.4 of XSH

30. Add 13.3.1.2 to the sched_setparam() page, shaded as appropriate

    text in 134-140 updates lines 28705-06

31. add 13.3.3.2 to the sched_setscheduler() man page, shaded as
    appropriate.

32. Add 13.4.1 into section 2.9.6 of XSH.

33. Add 13.4.3 into section 2.9.8 of XSH.

34. Add text in 13.4.4, Scheduling Documentation to section 2.8 of XSH
    (Realtime). Probably, 2.8.4, Scheduling policies, should be
    reorganized to cover more general aspects of scheduling. The
    scheduling policies would then be a part of this new section,
    together with the scheduling documentation, and other text from
    ISO/IEC 9945-1:1996.

35. Add the first part of 13.5.1.2 (lines 207-208) to the
    pthread_attr_getschedpolicy() man page, shaded as appropriate.

36. Add the second part of 13.5.1.2 (lines 211-218) to the
    pthread_attr_getschedparam() man page, shaded as appropriate.

37. Add 13.5.2.2 to the pthread_getschedparam() man page, shaded as
    appropriate.

38. Add 13.5.2.4 to the pthread_getschedparam() man page (error
    section), shaded as appropriate.

39. Add 14.2.1.2 to the clock_getres() man page, shaded as
    appropriate.

40. Add 14.2.2.2 to the timer_create() man page, shaded as
    appropriate.

41. Add 14.2.2.4 to the timer_create() man page (error section), shaded as
    appropriate.

42. Add 14.3.1 to section 2.8.5 as a new unnumbered subclause, shaded
    as appropriate. Also add the constants defined there to the header
    time.h.

43. Create a new man page for clock_getcpuclockid(), using text from
    14.3.2

44. Create a new man page for pthread_getcpuclockid(), using text from
    14.3.3.

45. Add text from 15.2.4 to the mq_send() man page, to include the new
    function mq_timedsend(). Also add a reference man page for
    mq_timedsend().

46. Add text from 15.2.5 to the mq_receive() man page, to include the new
    function mq_timedreceive(). Also add a reference man page for
    mq_timedreceive().

47. Add text from 16.2.2.2 to the pthread_create() man page, shaded as
    appropriate.

48. Add the functions that shall be or may be cancellation points,
    appearing in 18.1, to the appropriate function lists in 2.9.9.2,
    cancellation points.

49. Add a new man page for posix_fadvise() using text from 20.1.1,
    shaded as appropriate.

50. Add a new man page for posix_fallocate() using text from 20.1.2,
    shaded as appropriate.

51. Add a new man page for posix_madvise() using text from 20.2.1,
    shaded as appropriate.

52. Add a new man page for posix_memalign() using text from 20.2.2,
    shaded as appropriate.

53. Add text from A.2 to the Referenced Documents section.

54. Add text from B.2.3.1 to the rationale on general concepts in the
    XRAT book.

55. Add text from B.3.1.4 to the rationale part of the
    posix_spawn_file_actions man page.

56. Add text from B.3.1.5 to the rationale section of the
    posix_spawn_attr_init man page.

57. Add text from B.3.1.6 to the rationale section of the posix_spawn
    man page.

57. Add text from B.13.3 to the XRAT book

58. Add text from B.14.3 to the XRAT book

59. Add text from B.14.4 to the XRAT book.

60. Add text from B.20 to the XRAT book.


---End of message

Issue History

Date Modified Username Field Change
2013-07-02 09:31 bgolaszewski New Issue
2013-07-02 09:31 bgolaszewski Name => Bartosz Golaszewski
2013-07-02 09:31 bgolaszewski Section => hcreate, hdestroy, hsearch
2013-07-02 09:31 bgolaszewski Page Number => unknown
2013-07-02 09:31 bgolaszewski Line Number => unknown
2013-07-03 14:51 nick Note Added: 0001662
2013-07-04 13:55 bgolaszewski Note Added: 0001663
2013-07-11 15:36 nick Interp Status => ---
2013-07-11 15:36 nick Note Added: 0001670
2013-07-11 15:36 nick Resolution Open => Rejected
2013-07-11 15:36 nick Final Accepted Text => See 0000719:0001670
2013-07-11 15:37 nick Status New => Closed
2013-07-11 15:39 ajosey Note Added: 0001671