Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

#3116 closed enhancement (fixed)

POSIX: Make sem_t self-contained

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: posix Version:
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

Change the POSIX semaphore into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Semaphore_Control _sem;
} sem_t;

Change History (9)

comment:1 Changed on 09/18/17 at 05:07:02 by Sebastian Huber

Milestone: Indefinite4.12.0
Status: assignedaccepted

comment:2 Changed on 10/05/17 at 12:34:58 by Sebastian Huber <sebastian.huber@…>

In [changeset:"76d9db31feb7835c66f926d280ea717b7933e152/rtems-source-builder" 76d9db3/rtems-source-builder]:

4.12: Update to Newlib 2.5.0.20170922

The time_t is now a 64-bit signed integer.

This update includes a patch to introduce the self-contained POSIX
synchronization objects.

Update #2514.
Update #3111.
Update #3112.
Update #3113.
Update #3114.
Update #3115.
Update #3116.

comment:3 Changed on 10/05/17 at 12:35:53 by Sebastian Huber <sebastian.huber@…>

In [changeset:"e46a075d35fa821b9d5f841032149d74e828be2b/rtems" e46a075/rtems]:

Enforce compatible Newlib version

This Newlib check ensures that we have a 64-bit time_t and
self-contained POSIX synchronization objects.

Update #2514.
Update #3111.
Update #3112.
Update #3113.
Update #3114.
Update #3115.
Update #3116.

comment:4 Changed on 10/05/17 at 12:36:18 by Sebastian Huber <sebastian.huber@…>

In [changeset:"c090db7405b72ce6d0b726c0a39fb1c1aebab7ea/rtems" c090db7/rtems]:

posix: Implement self-contained POSIX semaphores

For semaphore object pointer and object validation see
POSIX_SEMAPHORE_VALIDATE_OBJECT().

Destruction or close of a busy semaphore returns an error status. The
object is not flushed.

POSIX semaphores are now available in all configurations and no longer
depend on --enable-posix.

Update #2514.
Update #3116.

comment:5 Changed on 10/09/17 at 06:05:48 by Sebastian Huber <sebastian.huber@…>

In [changeset:"d8f7bdc003f560e8b3b002e18a56c18692d737d8/rtems-docs" d8f7bdc/rtems-docs]:

c-user: Add obsolete configuration options section

Update #2493.
Update #3112.
Update #3113.
Update #3114.
Update #3115.
Update #3116.

comment:6 Changed on 10/11/17 at 12:34:32 by Sebastian Huber

Component: scoreposix

comment:7 Changed on 10/12/17 at 05:15:28 by Sebastian Huber <sebastian.huber@…>

In [changeset:"64564df81045dfe31fb0369bc26566e24a36fa4b/rtems-docs" 64564df/rtems-docs]:

c-user: CONFIGURE_MAXIMUM_POSIX_SEMAPHORES

This configuration is not obsolete since it is still used for named
semaphores.

Update #3116.

comment:8 Changed on 10/12/17 at 05:16:16 by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: acceptedclosed

In [changeset:"9c0cefbfa5eb426ff26954066b5d1f786754a538/rtems" 9c0cefb/rtems]:

confdefs: Add warnings for obsolete options

Update #2674.
Close #3112.
Close #3113.
Close #3114.
Close #3115.
Close #3116.

comment:9 Changed on 11/09/17 at 06:27:14 by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

Note: See TracTickets for help on using tickets.