#include <semaphore.h>
Go to the source code of this file.
§ SIPC_MAX_SEMAPHORES
#define SIPC_MAX_SEMAPHORES 256 |
§ USE_SEM_INIT
§ simpleipc_cmd()
int simpleipc_cmd |
( |
char * |
cmd, |
|
|
int |
id, |
|
|
int |
v |
|
) |
| |
Definition at line 122 of file semaphore.c.
124 if (strcmp(cmd,
"init")==0)
126 else if (strcmp(cmd,
"exists")==0)
128 else if (strcmp(cmd,
"acquire")==0)
130 else if (strcmp(cmd,
"try_acquire")==0)
132 else if (strcmp(cmd,
"release")==0)
134 else if (strcmp(cmd,
"get_value")==0)
136 else printf(
"unknown\n");
int sipc_semaphore_get_value(int id)
int sipc_semaphore_try_acquire(int id)
int sipc_semaphore_exists(int id)
int sipc_semaphore_init(int id, int count)
int sipc_semaphore_release(int id)
const Variable & v
< [in] a sqrfree bivariate poly
int sipc_semaphore_acquire(int id)
§ sipc_semaphore_acquire()
int sipc_semaphore_acquire |
( |
int |
id | ) |
|
Definition at line 78 of file semaphore.c.
sem_t * semaphore[SIPC_MAX_SEMAPHORES]
volatile BOOLEAN do_shutdown
#define SIPC_MAX_SEMAPHORES
volatile int defer_shutdown
int sem_acquired[SIPC_MAX_SEMAPHORES]
§ sipc_semaphore_exists()
int sipc_semaphore_exists |
( |
int |
id | ) |
|
Definition at line 72 of file semaphore.c.
sem_t * semaphore[SIPC_MAX_SEMAPHORES]
#define SIPC_MAX_SEMAPHORES
§ sipc_semaphore_get_value()
int sipc_semaphore_get_value |
( |
int |
id | ) |
|
Definition at line 114 of file semaphore.c.
sem_t * semaphore[SIPC_MAX_SEMAPHORES]
#define SIPC_MAX_SEMAPHORES
§ sipc_semaphore_init()
int sipc_semaphore_init |
( |
int |
id, |
|
|
int |
count |
|
) |
| |
Definition at line 36 of file semaphore.c.
50 sem =
malloc(
sizeof(sem_t));
53 if (sem_init(sem, 1,
count) < 0)
59 sprintf(buf,
"/%d:sem%d", getpid(),
id);
61 sem = sem_open(buf, O_CREAT, 0600,
count);
63 if (sem == SEM_FAILED || !sem)
int status int void size_t count
sem_t * semaphore[SIPC_MAX_SEMAPHORES]
int status int void * buf
void * malloc(size_t size)
#define SIPC_MAX_SEMAPHORES
§ sipc_semaphore_release()
int sipc_semaphore_release |
( |
int |
id | ) |
|
Definition at line 103 of file semaphore.c.
sem_t * semaphore[SIPC_MAX_SEMAPHORES]
volatile BOOLEAN do_shutdown
#define SIPC_MAX_SEMAPHORES
volatile int defer_shutdown
int sem_acquired[SIPC_MAX_SEMAPHORES]
§ sipc_semaphore_try_acquire()
int sipc_semaphore_try_acquire |
( |
int |
id | ) |
|
Definition at line 89 of file semaphore.c.
93 int trywait = si_sem_trywait(
semaphore[
id]);
sem_t * semaphore[SIPC_MAX_SEMAPHORES]
volatile BOOLEAN do_shutdown
#define SIPC_MAX_SEMAPHORES
volatile int defer_shutdown
int sem_acquired[SIPC_MAX_SEMAPHORES]
§ sem_acquired
§ semaphore