diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2025-11-03 06:54:58 -0500 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2025-11-14 10:30:56 -0500 |
| commit | 0230268fb96f100e6747206364fdae35c451f7cf (patch) | |
| tree | 60ef835c506d400b182d76a3fa0fa2abac188dc7 /src | |
| parent | dacc7e84c7b1c9f68a39f8bc0545bf4e73f5af25 (diff) | |
| download | stasis-0230268fb96f100e6747206364fdae35c451f7cf.tar.gz | |
Integrate semaphore
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/core/semaphore.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/core/semaphore.c b/src/lib/core/semaphore.c index 9ea4c9c..a884469 100644 --- a/src/lib/core/semaphore.c +++ b/src/lib/core/semaphore.c @@ -1,6 +1,9 @@ #include <stdio.h> #include <fcntl.h> + +#include "core_message.h" #include "sem.h" +#include "utils.h" int semaphore_init(struct Semaphore *s, const char *name, const int value) { snprintf(s->name, sizeof(s->name), "/%s", name); @@ -9,18 +12,26 @@ int semaphore_init(struct Semaphore *s, const char *name, const int value) { perror("sem_open"); return -1; } + SYSDEBUG("%s", s->name); return 0; } int semaphore_wait(struct Semaphore *s) { + int state = 0; + sem_getvalue(s->sem, &state); + SYSDEBUG("%s", s->name); return sem_wait(s->sem); } int semaphore_post(struct Semaphore *s) { + int state = 0; + sem_getvalue(s->sem, &state); + SYSDEBUG("%s", s->name); return sem_post(s->sem); } void semaphore_destroy(struct Semaphore *s) { + SYSDEBUG("%s", s->name); sem_close(s->sem); sem_unlink(s->name); } |
