/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
struct wait_queue wait_queue; /* queue of blocked threads & lock */
task_t owner; /* task that owns semaphore */
ipc_port_t port; /* semaphore port */
- int ref_count; /* reference count */
+ uint32_t ref_count; /* reference count */
int count; /* current count value */
boolean_t active; /* active status */
} Semaphore;
#define semaphore_lock(semaphore) wait_queue_lock(&(semaphore)->wait_queue)
#define semaphore_unlock(semaphore) wait_queue_unlock(&(semaphore)->wait_queue)
-extern void semaphore_init(void);
+extern void semaphore_init(void) __attribute__((section("__TEXT, initcode")));
extern void semaphore_reference (semaphore_t semaphore);
extern void semaphore_dereference (semaphore_t semaphore);