[Issue 14617] New: PTHREAD_MUTEX_INITIALIZER does not work on OSX
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri May 22 12:06:24 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=14617
Issue ID: 14617
Summary: PTHREAD_MUTEX_INITIALIZER does not work on OSX
Product: D
Version: D2
Hardware: x86
OS: Mac OS X
Status: NEW
Severity: normal
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: andrei at erdani.com
Initializing a mutex with PTHREAD_MUTEX_INITIALIZER puts it in an all-zero
state:
pthread_mutex_t(0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
This state is unsuitable for calls such as pthread_mutex_lock etc. The state
after calling the dynamic initialization routine pthread_mutex_init is:
pthread_mutex_t(1297437784, [0, 0, 0, 0, 96, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
How do we define this state using the available pthread/OSX constants?
--
More information about the Digitalmars-d-bugs
mailing list