#3112 closed enhancement (fixed)

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

typedef struct {
  struct _Mutex_recursive_Control  _mutex;
  unsigned int                     _flags;
  struct _Scheduler_Control       *_scheduler;
  __uint64_t                       _priority_ceiling;
} pthread_mutex_t;

Change History (12)

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

Milestone: Indefinite4.12.0
Status: assignedaccepted

comment:2 Changed on Sep 27, 2017 at 10:11:48 AM by Sebastian Huber <sebastian.huber@…>

In e460cd00/rtems:

score: Rename to _Scheduler_Control

Rename struct Scheduler_Control to _Scheduler_Control to allow its use
in standard header files, e.g. <pthread.h>.

Update #3112.

comment:3 Changed on Sep 27, 2017 at 12:57:42 PM by Sebastian Huber <sebastian.huber@…>

In e2fe881a/rtems:

score: Simplify red-black tree debug support

Make the RBTree_Node layout independent of RTEMS_DEBUG (and all other
build configuration options). This allows the use of this structure in
Newlib.

Update #3112.

comment:4 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:5 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:6 Changed on Oct 5, 2017 at 12:37:09 PM by Sebastian Huber <sebastian.huber@…>

In de59c065/rtems:

posix: Implement self-contained POSIX mutex

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

Update #2514.
Update #3112.

comment:7 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:8 Changed on Oct 11, 2017 at 12:34:32 PM by Sebastian Huber

Component: scoreposix

comment:9 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:10 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:11 Changed on Nov 9, 2017 at 6:27:14 AM by Sebastian Huber

Milestone: 4.12.05.1

Milestone renamed

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

In 7188bd5/rtems-docs:

c-user: Remove RTEMS_SYSINIT_POSIX_MUTEX

Update #3112.

Note: See TracTickets for help on using tickets.