fixed mistakes around semaphores

This commit is contained in:
2022-08-30 19:42:30 +02:00
parent 6974c2b8e6
commit ededa69859
4 changed files with 12 additions and 11 deletions
+3 -2
View File
@@ -12,10 +12,11 @@ void sem_init(sem_t* sem, int32_t value) {
int32_t sem_wait(sem_t* sem) {
//while(sem->value > 0);
//sem->value--;
return sem_wait32(&(sem->value), (int32_t)1);
while (atom_dec32(&(sem->value), (int32_t)0) > 0);
return atom_dec32(&(sem->value), (int32_t)1);
}
int32_t sem_post(sem_t* sem) {
//sem->value++;
return sem_post32(&(sem->value), (int32_t)1);
return atom_inc32(&(sem->value), (int32_t)1);
}