added semaphore to tasks for sample/testing

This commit is contained in:
2022-08-31 08:42:35 +02:00
parent d52848f7e8
commit eadaa6fc8f
5 changed files with 43 additions and 29 deletions

View File

@@ -10,13 +10,15 @@ void sem_init(sem_t* sem, int32_t value) {
}
int32_t sem_wait(sem_t* sem) {
//while(sem->value > 0);
//while(sem->value <= 0);
//sem->value--;
while (atom_dec32(&(sem->value), (int32_t)0) > 0);
//return sem->value;
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->value;
return atom_inc32(&(sem->value), (int32_t)1);
}