/haiku/src/libs/posix_error_mapper/ |
H A D | pthread_mutex.cpp | 11 WRAPPER_FUNCTION(int, pthread_mutex_destroy, (pthread_mutex_t *mutex), 12 return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_destroy(mutex)); 17 (const pthread_mutex_t *mutex, int *_priorityCeiling), 18 return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_getprioceiling(mutex, 24 (pthread_mutex_t *mutex, const pthread_mutexattr_t *attr), 25 return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_init(mutex, attr)); 29 WRAPPER_FUNCTION(int, pthread_mutex_lock, (pthread_mutex_t *mutex), 30 return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_lock(mutex)); 35 (pthread_mutex_t *mutex, int newPriorityCeiling, 37 return B_TO_POSITIVE_ERROR(sReal_pthread_mutex_setprioceiling(mutex, [all...] |
H A D | pthread_cond.cpp | 33 pthread_mutex_t *mutex, const struct timespec *abstime), 34 return B_TO_POSITIVE_ERROR(sReal_pthread_cond_timedwait(cond, mutex, 40 pthread_mutex_t *mutex), 41 return B_TO_POSITIVE_ERROR(sReal_pthread_cond_wait(cond, mutex));
|
/haiku/src/libs/compat/openbsd_network/compat/sys/ |
H A D | mutex.h | 9 #include_next <sys/mutex.h> 15 #define mutex mutex_openbsd macro 19 mtx_init_openbsd(struct mutex* mtx, int wantipl) 21 mtx_init(&mtx->mtx, "OpenBSD mutex", NULL, 24 #define mtx_init(mutex, wantipl) mtx_init_openbsd(mutex, wantipl) 28 mtx_enter(struct mutex* mtx) 34 mtx_leave(struct mutex* mtx)
|
/haiku/src/system/libroot/posix/pthread/ |
H A D | pthread_mutex.cpp | 21 #define MUTEX_TYPE(mutex) ((mutex)->flags & MUTEX_TYPE_BITS) 31 pthread_mutex_init(pthread_mutex_t* mutex, const pthread_mutexattr_t* _attr) argument 36 mutex->lock = 0; 37 mutex->owner = -1; 38 mutex->owner_count = 0; 39 mutex->flags = attr->type | (attr->process_shared ? MUTEX_FLAG_SHARED : 0); 46 pthread_mutex_destroy(pthread_mutex_t* mutex) argument 53 __pthread_mutex_lock(pthread_mutex_t* mutex, uint32 flags, bigtime_t timeout) argument 57 if (mutex 104 pthread_mutex_lock(pthread_mutex_t* mutex) argument 111 pthread_mutex_trylock(pthread_mutex_t* mutex) argument 118 pthread_mutex_clocklock(pthread_mutex_t* mutex, clockid_t clock_id, const struct timespec* abstime) argument 155 pthread_mutex_timedlock(pthread_mutex_t* mutex, const struct timespec* abstime) argument 162 pthread_mutex_unlock(pthread_mutex_t* mutex) argument 194 pthread_mutex_getprioceiling(const pthread_mutex_t* mutex, int* _prioCeiling) argument 207 pthread_mutex_setprioceiling(pthread_mutex_t* mutex, int prioCeiling, int* _oldCeiling) argument [all...] |
H A D | pthread_cond.cpp | 44 cond->mutex = NULL; 60 cond_wait(pthread_cond_t* cond, pthread_mutex_t* mutex, uint32 flags, argument 63 if (mutex->owner != find_thread(NULL)) { 64 // calling thread isn't mutex owner 68 if (cond->mutex != NULL && cond->mutex != mutex) { 69 // condition variable already used with different mutex 73 cond->mutex = mutex; 133 pthread_cond_clockwait(pthread_cond_t* cond, pthread_mutex_t* mutex, clockid_t clock_id, const struct timespec* abstime) argument 158 pthread_cond_timedwait(pthread_cond_t* cond, pthread_mutex_t* mutex, const struct timespec* abstime) argument [all...] |
H A D | pthread_barrier.cpp | 40 barrier->mutex = 0; 49 barrier_lock(__haiku_std_int32* mutex, uint32 flags) argument 51 const int32 oldValue = atomic_test_and_set((int32*)mutex, B_USER_MUTEX_LOCKED, 0); 55 error = _kern_mutex_lock((int32*)mutex, NULL, flags, 0); 66 barrier_unlock(__haiku_std_int32* mutex, uint32 flags) argument 68 int32 oldValue = atomic_and((int32*)mutex, 71 _kern_mutex_unblock((int32*)mutex, flags); 83 status_t status = barrier_lock(&barrier->mutex, flags); 87 barrier_unlock(&barrier->mutex, flags); 105 // We are the last one in. Lock the barrier mutex [all...] |
/haiku/src/libs/compat/freebsd_network/compat/sys/ |
H A D | mutex.h | 36 void mtx_lock_spin(struct mtx* mutex); 37 void mtx_unlock_spin(struct mtx* mutex); 50 mtx_lock(struct mtx* mutex) argument 52 if (mutex->type == MTX_DEF) { 53 mutex_lock(&mutex->u.mutex_.lock); 54 mutex->u.mutex_.owner = find_thread(NULL); 55 } else if (mutex->type == MTX_RECURSE) { 56 recursive_lock_lock(&mutex->u.recursive); 57 } else if (mutex->type == MTX_SPIN) { 58 mtx_lock_spin(mutex); 64 mtx_trylock(struct mtx* mutex) argument 83 mtx_unlock(struct mtx* mutex) argument 97 mtx_initialized(struct mtx* mutex) argument 105 mtx_owned(struct mtx* mutex) argument 124 mtx_recursed(struct mtx* mutex) argument [all...] |
H A D | _mutex.h | 18 mutex lock;
|
/haiku/src/libs/compat/freebsd_network/ |
H A D | mutex.c | 10 #include <compat/sys/mutex.h> 19 mtx_init(struct mtx *mutex, const char *name, const char *type, argument 23 recursive_lock_init_etc(&mutex->u.recursive, name, 25 mutex->type = MTX_RECURSE; 27 B_INITIALIZE_SPINLOCK(&mutex->u.spinlock_.lock); 28 mutex->type = MTX_SPIN; 30 mutex_init_etc(&mutex->u.mutex_.lock, name, MUTEX_FLAG_CLONE_NAME); 31 mutex->u.mutex_.owner = -1; 32 mutex->type = MTX_DEF; 48 mtx_destroy(struct mtx *mutex) argument 61 mtx_lock_spin(struct mtx* mutex) argument 72 mtx_unlock_spin(struct mtx* mutex) argument [all...] |
H A D | condvar.cpp | 7 #include <compat/sys/mutex.h> 42 cv_timedwait(struct cv* variable, struct mtx* mutex, int timeout) argument 50 if (mutex->type == MTX_RECURSE) { 52 status = condition->Wait(&mutex->u.recursive, 60 mtx_unlock(mutex); 64 mtx_lock(mutex); 70 cv_wait(struct cv* variable, struct mtx* mutex) argument 72 cv_timedwait(variable, mutex, 0);
|
H A D | synch.cpp | 9 #include <compat/sys/mutex.h> 17 msleep(void* identifier, struct mtx* mutex, int priority, argument 23 int status = cv_timedwait(&channel, mutex, timeout);
|
/haiku/src/add-ons/kernel/drivers/graphics/framebuffer/ |
H A D | driver.h | 20 extern mutex gLock;
|
/haiku/src/add-ons/kernel/drivers/graphics/vesa/ |
H A D | driver.h | 20 extern mutex gLock;
|
/haiku/src/add-ons/kernel/generic/scsi_periph/ |
H A D | handle.cpp | 34 mutex_lock(&device->mutex); 36 mutex_unlock(&device->mutex); 61 mutex_lock(&device->mutex); 63 mutex_unlock(&device->mutex);
|
/haiku/src/system/libroot/posix/glibc/include/bits/ |
H A D | libc-lock.h | 1 /* libc-internal interface for mutex locks. NPTL version. 38 typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t; member in struct:__anon4 57 /* Initialize a recursive mutex. */ 63 __pthread_mutex_init (&(NAME).mutex, &__attr); \ 69 __libc_maybe_call (__pthread_mutex_destroy, (&(NAME).mutex), 0) 73 __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0) 77 __libc_maybe_call (__pthread_mutex_trylock, (&(NAME).mutex), 0) 81 __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0)
|
/haiku/src/tools/fs_shell/ |
H A D | lock.cpp | 142 fssh_panic("could not create mutex"); 154 fssh_mutex_destroy(fssh_mutex *mutex) argument 156 if (mutex == NULL) 159 if (mutex->sem >= 0) { 160 fssh_delete_sem(mutex->sem); 161 mutex->sem = -1; 163 mutex->holder = -1; 168 fssh_mutex_lock(fssh_mutex *mutex) argument 173 status = fssh_acquire_sem(mutex->sem); 177 if (me == mutex 186 fssh_mutex_unlock(fssh_mutex *mutex) argument 201 fssh_mutex_transfer_lock(fssh_mutex *mutex, fssh_thread_id thread) argument [all...] |
/haiku/src/system/libroot/os/locks/ |
H A D | mutex.cpp | 27 // #pragma mark - mutex 31 __mutex_init(mutex *lock, const char *name) 40 __mutex_init_etc(mutex *lock, const char *name, uint32 flags) 52 __mutex_destroy(mutex *lock) 60 __mutex_lock(mutex *lock) 84 __mutex_unlock(mutex *lock) 95 debugger("mutex was not actually locked!"); 98 _kern_debug_output("libroot __mutex_unlock: mutex was not actually locked!\n");
|
/haiku/headers/private/kernel/ |
H A D | lock.h | 21 typedef struct mutex { struct 31 } mutex; typedef in typeref:struct:mutex 37 mutex lock; 139 extern status_t recursive_lock_switch_from_mutex(mutex* from, 141 // Like recursive_lock_switch_lock(), just for switching from a mutex. 154 extern void mutex_init(mutex* lock, const char* name); 156 extern void mutex_init_etc(mutex* lock, const char* name, uint32 flags); 157 extern void mutex_destroy(mutex* lock); 158 extern void mutex_transfer_lock(mutex* lock, thread_id thread); 159 extern status_t mutex_switch_lock(mutex* fro [all...] |
H A D | user_mutex.h | 21 status_t _user_mutex_lock(int32* mutex, const char* name, uint32 flags, 23 status_t _user_mutex_unblock(int32* mutex, uint32 flags);
|
/haiku/src/add-ons/kernel/file_systems/nfs4/ |
H A D | OpenState.h | 28 mutex fLock; 37 mutex fLocksLock; 40 mutex fOwnerLock;
|
H A D | IdMap.h | 41 mutex fLock; 56 extern mutex gIdMapperLock;
|
/haiku/headers/private/shared/ |
H A D | locks.h | 14 typedef struct mutex { struct 18 } mutex; typedef in typeref:struct:mutex 30 void __mutex_init(mutex *lock, const char *name); 31 void __mutex_init_etc(mutex *lock, const char *name, uint32 flags); 32 void __mutex_destroy(mutex *lock); 33 status_t __mutex_lock(mutex *lock); 34 void __mutex_unlock(mutex *lock); 38 mutex lock; 70 mutex lock; 109 inline bool Lock(struct mutex *loc [all...] |
/haiku/src/add-ons/kernel/bus_managers/acpi/acpica/include/platform/ |
H A D | achaiku.h | 160 struct mutex; 166 #define ACPI_MUTEX struct mutex *
|
/haiku/src/system/libroot/posix/malloc_hoard2/ |
H A D | arch-specific.h | 33 // TODO: some kind of adaptive mutex (i.e. trying to spin for a while before 35 typedef mutex hoardLockType;
|
/haiku/src/system/kernel/locks/ |
H A D | user_mutex.cpp | 26 /*! One UserMutexEntry corresponds to one mutex address. 28 * The mutex's "waiting" state is controlled by the rw_lock: a waiter acquires 150 // #pragma mark - user mutex context 185 kprintf("user mutex entry %p\n", entry); 191 int32 mutex = 0; 194 status = debug_memcpy(thread->team->id, &mutex, 195 (void*)entry->address, sizeof(mutex)); 199 kprintf(" mutex: 0x%" B_PRIx32 "\n", mutex); 210 sSharedUserMutexContext.lock = RW_LOCK_INITIALIZER("shared user mutex tabl [all...] |