Searched refs:sem (Results 26 - 50 of 92) sorted by relevance

1234

/haiku/src/system/kernel/locks/
H A Duser_mutex.cpp418 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 Dpthread_rwlock.cpp49 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 Dps.c109 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 Dlistsem.c42 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 Dfssh_os.h39 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 Dfssh_lock.h19 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 Dps2_elantech.h24 sem_id sem; member in struct:__anon12
H A Dps2_alps.cpp138 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 Dps2_elantech.cpp73 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 Dsem.cpp19 info->sem = systemInfo->sem;
/haiku/src/kits/interface/
H A DPopUpMenu.cpp341 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 Dbus.cpp45 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 DDriverInterface.h31 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 DDriverInterface.h31 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 DDriverInterface.h33 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 Dxsi_sem.cpp9 #include <sys/sem.h>
/haiku/src/system/kernel/arch/x86/
H A Dsyscalls_compat.cpp39 #include <sem.h>
/haiku/headers/private/drivers/
H A Dmmc.h87 void (*set_scan_semaphore)(void* controller, sem_id sem);
/haiku/src/add-ons/kernel/generic/locked_pool/
H A Dlocked_pool.c10 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 Ddriver.c177 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 DparticlesII.cpp65 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 Dtypes.h115 __haiku_std_int32 sem; member in struct:_pthread_rwlock::__anon1::__anon3
/haiku/src/system/kernel/events/
H A Dwait_for_objects.cpp27 #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 Dthread.cpp226 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 Dnfs_add_on.h59 sem_id sem; member in struct:fs_nspace

Completed in 124 milliseconds

1234