#3113 closed enhancement (fixed)

POSIX: Make pthread_cond_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 condition variable into a self-contained object using <sys/lock.h>, e.g.

typedef struct {
  struct _Condition_Control  _condition;
  pthread_mutex_t           *_mutex;
  clockid_t                  _clock;
} pthread_cond_t;

Change History (11)

comment:1 Changed on Sep 12, 2017 at 6:12:16 AM by Sebastian Huber <sebastian.huber@…>

In 62c912e/rtems:

posix: Use mutex object itself for condvar

We should only use the address used to initialize the mutex object
according to POSIX, "2.9.9 Synchronization Object Copies and Alternative
Mappings".

http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09_09

Update #3113.

comment:2 Changed on Sep 18, 2017 at 5:07:02 AM by Sebastian Huber

Milestone: Indefinite4.12.0
Status: assignedaccepted

comment:3 Changed on Oct 5, 2017 at 12:34:58 PM by Sebastian Huber <sebastian.huber@…>

In 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:4 Changed on Oct 5, 2017 at 12:35:53 PM by Sebastian Huber <sebastian.huber@…>

In 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:5 Changed on Oct 5, 2017 at 12:36:56 PM by Sebastian Huber <sebastian.huber@…>

In 5222488/rtems:

posix: Implement self-contained POSIX condvar

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

Update #2514.
Update #3113.

comment:6 Changed on Oct 9, 2017 at 6:05:48 AM by Sebastian Huber <sebastian.huber@…>

In d8f7bdc/rtems-docs:

c-user: Add obsolete configuration options section

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

comment:7 Changed on Oct 11, 2017 at 12:34:32 PM by Sebastian Huber

Component: scoreposix

comment:8 Changed on Oct 12, 2017 at 5:16:16 AM by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: acceptedclosed

In 9c0cefb/rtems:

confdefs: Add warnings for obsolete options

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

comment:9 Changed on Oct 18, 2017 at 6:53:08 AM by Sebastian Huber <sebastian.huber@…>

In 6087f33e/rtems:

tmtests/tmfine01: Add test cases

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

comment:10 Changed on Nov 9, 2017 at 6:27:14 AM by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

comment:11 Changed on Nov 22, 2017 at 12:51:42 PM by Sebastian Huber <sebastian.huber@…>

In 5680ec5/rtems-docs:

c-user: RTEMS_SYSINIT_POSIX_CONDITION_VARIABLE

Update #3113.

Note: See TracTickets for help on using tickets.