Merge nanoos

This commit is contained in:
2022-09-06 08:30:16 +02:00
parent 5947cd60cc
commit f3b0eb4a59
16 changed files with 814 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
/*
* Copyright 2022 Oleg Borodin <borodin@unix7.org>
*/
#include "semaphore.h"
#include "atomic.h"
void sem_init(sem_t* sem, int32_t value) {
sem->value = value;
}
int32_t sem_wait(sem_t* sem) {
//while(sem->value <= 0);
//sem->value--;
//return sem->value;
//while (atomic_dec32(&(sem->value), (int32_t)0) <= 0);
return atomic_dec32le0(&(sem->value), (int32_t)1);
}
int32_t sem_post(sem_t* sem) {
//sem->value++;
//return sem->value;
return atomic_inc32(&(sem->value), (int32_t)1);
}