/haiku/src/system/kernel/locks/ |
H A D | user_mutex.cpp | 418 user_mutex_sem_acquire_locked(UserMutexEntry* entry, int32* sem, 423 int32 oldValue = user_atomic_get(sem, isWired); 425 int32 value = user_atomic_test_and_set(sem, oldValue - 1, oldValue, isWired); 437 user_mutex_sem_release(UserMutexEntry* entry, int32* sem, bool isWired) 442 int32 oldValue = user_atomic_get(sem, isWired); 445 int32 value = user_atomic_test_and_set(sem, oldValue + inc, oldValue, isWired); 454 user_atomic_test_and_set(sem, 0, -1, isWired); 655 _user_mutex_sem_acquire(int32* sem, const char* name, uint32 flags, 658 if (sem == NULL || !IS_USER_ADDRESS(sem) || (addr_ [all...] |
/haiku/src/system/libroot/posix/pthread/ |
H A D | pthread_rwlock.cpp | 49 int32_t sem; member in struct:SharedRWLock 55 sem = create_sem(MAX_READER_COUNT, "pthread rwlock"); 57 return sem >= 0 ? B_OK : EAGAIN; 62 if (sem < 0) 64 return delete_sem(sem) == B_OK ? B_OK : B_BAD_VALUE; 69 return acquire_sem_etc(sem, 1, flags, timeout); 74 status_t error = acquire_sem_etc(sem, MAX_READER_COUNT, 85 return release_sem_etc(sem, MAX_READER_COUNT, 0); 87 return release_sem(sem);
|
/haiku/src/bin/ |
H A D | ps.c | 109 if (threadInfo.state == B_THREAD_WAITING && threadInfo.sem != -1) { 110 status_t status = get_sem_info(threadInfo.sem, &semaphoreInfo); 113 semaphoreInfo.sem); 116 threadInfo.sem);
|
H A D | listsem.c | 42 printf("%7" B_PRId32 "%31s%7" B_PRId32 "\n", info->sem, info->name, 79 printf("sem: total: %5" B_PRIu32 ", used: %5" B_PRIu32 ", left: %5" B_PRIu32 104 printf("-s used without associated sem id\n");
|
/haiku/headers/private/fs_shell/ |
H A D | fssh_os.h | 39 fssh_sem_id sem; member in struct:fssh_sem_info 84 #define fssh_get_sem_info(sem, info) \ 85 _fssh_get_sem_info((sem), (info), sizeof(*(info))) 124 fssh_sem_id sem; member in struct:__anon369
|
H A D | fssh_lock.h | 19 fssh_sem_id sem; member in struct:fssh_mutex 27 fssh_sem_id sem; member in struct:fssh_recursive_lock 34 fssh_sem_id sem; member in struct:fssh_rw_lock
|
/haiku/src/add-ons/kernel/bus_managers/ps2/ |
H A D | ps2_elantech.h | 24 sem_id sem; member in struct:__anon12
|
H A D | ps2_alps.cpp | 138 status = acquire_sem_etc(cookie->sem, 1, B_CAN_INTERRUPT | B_RELATIVE_TIMEOUT, 356 cookie->sem = create_sem(0, "ps2_alps_sem"); 357 if (cookie->sem < 0) { 394 delete_sem(cookie->sem); 416 delete_sem(cookie->sem); 522 release_sem_etc(cookie->sem, 1, B_DO_NOT_RESCHEDULE); 538 release_sem(cookie->sem);
|
H A D | ps2_elantech.cpp | 73 status_t status = acquire_sem_etc(cookie->sem, 1, B_CAN_INTERRUPT | B_RELATIVE_TIMEOUT, 481 cookie->sem = create_sem(0, "ps2_elantech_sem"); 482 if (cookie->sem < 0) { 572 delete_sem(cookie->sem); 594 delete_sem(cookie->sem); 688 release_sem_etc(cookie->sem, 1, B_DO_NOT_RESCHEDULE); 700 release_sem(cookie->sem);
|
/haiku/src/tools/fs_shell/ |
H A D | sem.cpp | 19 info->sem = systemInfo->sem;
|
/haiku/src/kits/interface/ |
H A D | PopUpMenu.cpp | 341 sem_id sem = create_sem(0, "window close lock"); 342 if (sem < B_OK) { 355 _set_menu_sem_(window, sem); 366 data->lock = sem; 373 delete_sem(sem); 463 sem_id sem = data->lock; local 465 while (acquire_sem_etc(sem, 1, B_TIMEOUT, 50000) != B_BAD_SEM_ID)
|
/haiku/src/libs/compat/freebsd_network/ |
H A D | bus.cpp | 45 sem_id sem; member in struct:internal_intr 329 release_sem_etc(intr->sem, 1, B_DO_NOT_RESCHEDULE); 341 status = acquire_sem(intr->sem); 366 if (intr->sem >= B_OK) { 368 delete_sem(intr->sem); 394 intr->sem = -1; 403 intr->sem = create_sem(0, semName); 404 if (intr->sem < B_OK) { 414 delete_sem(intr->sem);
|
/haiku/headers/private/graphics/skeleton/ |
H A D | DriverInterface.h | 31 sem_id sem; member in struct:__anon934 35 #define INIT_BEN(x) x.sem = create_sem(0, "NV "#x" benaphore"); x.ben = 0; 36 #define AQUIRE_BEN(x) if((atomic_add(&(x.ben), 1)) >= 1) acquire_sem(x.sem); 37 #define RELEASE_BEN(x) if((atomic_add(&(x.ben), -1)) > 1) release_sem(x.sem); 38 #define DELETE_BEN(x) delete_sem(x.sem);
|
/haiku/headers/private/graphics/via/ |
H A D | DriverInterface.h | 31 sem_id sem; member in struct:__anon1 35 #define INIT_BEN(x) x.sem = create_sem(0, "NV "#x" benaphore"); x.ben = 0; 36 #define AQUIRE_BEN(x) if((atomic_add(&(x.ben), 1)) >= 1) acquire_sem(x.sem); 37 #define RELEASE_BEN(x) if((atomic_add(&(x.ben), -1)) > 1) release_sem(x.sem); 38 #define DELETE_BEN(x) delete_sem(x.sem);
|
/haiku/headers/private/graphics/nvidia/ |
H A D | DriverInterface.h | 33 sem_id sem; member in struct:__anon11 37 #define INIT_BEN(x) x.sem = create_sem(0, "NV "#x" benaphore"); x.ben = 0; 38 #define AQUIRE_BEN(x) if((atomic_add(&(x.ben), 1)) >= 1) acquire_sem(x.sem); 39 #define RELEASE_BEN(x) if((atomic_add(&(x.ben), -1)) > 1) release_sem(x.sem); 40 #define DELETE_BEN(x) delete_sem(x.sem);
|
/haiku/src/system/libroot/posix/sys/ |
H A D | xsi_sem.cpp | 9 #include <sys/sem.h>
|
/haiku/src/system/kernel/arch/x86/ |
H A D | syscalls_compat.cpp | 39 #include <sem.h>
|
/haiku/headers/private/drivers/ |
H A D | mmc.h | 87 void (*set_scan_semaphore)(void* controller, sem_id sem);
|
/haiku/src/add-ons/kernel/generic/locked_pool/ |
H A D | locked_pool.c | 10 Allocation/freeing is optimized for speed. Count of <sem> 13 an allocation is waiting for a free block, <sem> is only 16 <sem> is updated: 20 thread makes <sem> up-to-date and waits for a free block 21 via <sem> in one step; finally, <num_waiting> is decreased 24 here, count of <sem> is updated to release threads waiting 58 sem_id sem; // count=number of free blocks member in struct:locked_pool 191 release_sem_etc(pool->sem, numWaiting, 0); 352 // condition: when we wait for <sem> and a block gets released 368 acquire_sem(pool->sem); [all...] |
/haiku/src/add-ons/kernel/drivers/network/ether/pegasus/ |
H A D | driver.c | 177 sem_id sem; local 187 device->sem_lock = sem = create_sem(1, DRIVER_NAME "_lock"); 188 if (sem < B_OK) { 189 DPRINTF_ERR("create_sem() failed 0x%" B_PRIx32 "\n", sem); 194 device->rx_sem = sem = create_sem(1, DRIVER_NAME"_receive"); 195 if (sem < B_OK) { 196 DPRINTF_ERR("create_sem() failed 0x%" B_PRIx32 "\n", sem); 203 device->rx_sem_cb = sem = create_sem(0, DRIVER_NAME"_receive_cb"); 204 if (sem < B_OK) { 205 DPRINTF_ERR("create_sem() failed 0x%" B_PRIx32 "\n", sem); [all...] |
/haiku/src/tests/kits/game/ParticlesII/ |
H A D | particlesII.cpp | 65 sem_id sem; member in class:NWindowScreen 124 PRINT(("creating blocking sem and save_buffer area.\n")); 126 sem = create_sem(0,"WindowScreen Access"); 131 if((sem < B_OK) || (area < B_OK)) 235 release_sem(sem); 242 acquire_sem(sem); 251 delete_sem(sem); 317 acquire_sem(sem); // block until we're allowed to own the framebuffer 406 release_sem(sem);
|
/haiku/headers/posix/sys/ |
H A D | types.h | 115 __haiku_std_int32 sem; member in struct:_pthread_rwlock::__anon1::__anon3
|
/haiku/src/system/kernel/events/ |
H A D | wait_for_objects.cpp | 27 #include <sem.h> 67 sem_id sem; member in struct:wait_for_objects_sync 379 sync->sem = create_sem(0, "select"); 380 if (sync->sem < 0) 381 return sync->sem; 416 delete_sem(sem); 424 if (sem < B_OK) 432 return release_sem_etc(sem, 1, B_DO_NOT_RESCHEDULE); 502 status = acquire_sem_etc(sync->sem, 1, 612 status = acquire_sem_etc(sync->sem, [all...] |
/haiku/src/system/kernel/ |
H A D | thread.cpp | 226 exit.sem = -1; 253 if (exit.sem >= 0) 254 delete_sem(exit.sem); 372 exit.sem = create_sem(0, temp); 373 if (exit.sem < 0) 374 return exit.sem; 1189 info->sem = -1; 1201 sem_id sem = (sem_id)(addr_t)thread->wait.object; 1202 if (sem == thread->msg.read_sem) 1205 info->sem [all...] |
/haiku/src/add-ons/kernel/file_systems/nfs/ |
H A D | nfs_add_on.h | 59 sem_id sem; member in struct:fs_nspace
|