ObjType type;
void (*cleanup)(union drd_clientobj*);
ExeContext* first_observed_at;
- UWord value; // Semaphore value.
+ UInt value; // Semaphore value.
UWord waiters; // Number of threads inside sem_wait().
DrdThreadId last_sem_post_tid; // Thread ID associated with last sem_post().
Segment* last_sem_post_segment;
/** Called before sem_init(). */
struct semaphore_info* semaphore_init(const Addr semaphore,
- const Word pshared, const UWord value)
+ const Word pshared, const UInt value)
{
struct semaphore_info* p;
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_init 0x%lx value %ld",
+ "[%d/%d] semaphore_init 0x%lx value %u",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore,
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_destroy 0x%lx value %ld",
+ "[%d/%d] semaphore_destroy 0x%lx value %u",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore,
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_pre_wait 0x%lx value %ld",
+ "[%d/%d] semaphore_pre_wait 0x%lx value %u",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore,
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_post_wait 0x%lx value %ld",
+ "[%d/%d] semaphore_post_wait 0x%lx value %u",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore,
if (s_trace_semaphore)
{
VG_(message)(Vg_UserMsg,
- "[%d/%d] semaphore_post 0x%lx value %ld",
+ "[%d/%d] semaphore_post 0x%lx value %u",
VG_(get_running_tid)(),
thread_get_running_tid(),
semaphore,
void semaphore_set_trace(const Bool trace_semaphore);
struct semaphore_info* semaphore_init(const Addr semaphore,
- const Word pshared, const UWord value);
+ const Word pshared, const UInt value);
void semaphore_destroy(const Addr semaphore);
void semaphore_pre_wait(const Addr semaphore);
void semaphore_post_wait(const DrdThreadId tid, const Addr semaphore,
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........ value -1
+[1/1] semaphore_init 0x........ value 4294967295
[1/1] semaphore_init 0x........ value 0
Semaphore reinitialization: semaphore 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........ value 0
-[1/1] semaphore_post_wait 0x........ value -1
+[1/1] semaphore_post_wait 0x........ value 4294967295
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........ value -1
+[1/1] semaphore_init 0x........ value 4294967295
[1/1] semaphore_init 0x........ value 0
Semaphore reinitialization: semaphore 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........ value 0
-[1/1] semaphore_post_wait 0x........ value -1
+[1/1] semaphore_post_wait 0x........ value 4294967295
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........ value -1
+[1/1] semaphore_init 0x........ value 4294967295
[1/1] semaphore_init 0x........ value 0
Semaphore reinitialization: semaphore 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........ value 0
-[1/1] semaphore_post_wait 0x........ value -1
+[1/1] semaphore_post_wait 0x........ value 4294967295
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........ value -1
+[1/1] semaphore_init 0x........ value 4294967295
[1/1] semaphore_init 0x........ value 0
Semaphore reinitialization: semaphore 0x........
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........ value 0
-[1/1] semaphore_post_wait 0x........ value -1
+[1/1] semaphore_post_wait 0x........ value 4294967295
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)
---------------- sem_* ----------------
-[1/1] semaphore_init 0x........ value -1
+[1/1] semaphore_init 0x........ value 4294967295
[1/1] semaphore_init 0x........ value 0
FIXME: can't figure out how to verify wrap of sem_destroy
[1/1] semaphore_pre_wait 0x........ value 0
-[1/1] semaphore_post_wait 0x........ value -1
+[1/1] semaphore_post_wait 0x........ value 4294967295
Invalid semaphore: semaphore 0x........
at 0x........: sem_wait* (drd_pthread_intercepts.c:?)