aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2025-11-03 06:54:58 -0500
committerJoseph Hunkeler <jhunkeler@gmail.com>2025-11-14 10:30:56 -0500
commit0230268fb96f100e6747206364fdae35c451f7cf (patch)
tree60ef835c506d400b182d76a3fa0fa2abac188dc7 /src/lib
parentdacc7e84c7b1c9f68a39f8bc0545bf4e73f5af25 (diff)
downloadstasis-0230268fb96f100e6747206364fdae35c451f7cf.tar.gz
Integrate semaphore
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/core/semaphore.c11
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);
}