X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8fce4520de1f257819b16f9253fa28dcdae743f4..ec4ff182252b6d7b3cb81f4fa783c5348a6c30fd:/lunaix-os/includes/lunaix/ds/mutex.h diff --git a/lunaix-os/includes/lunaix/ds/mutex.h b/lunaix-os/includes/lunaix/ds/mutex.h index 162186c..304cc6d 100644 --- a/lunaix-os/includes/lunaix/ds/mutex.h +++ b/lunaix-os/includes/lunaix/ds/mutex.h @@ -6,7 +6,7 @@ typedef struct mutex_s { - atomic_ulong lk; + atomic_uint lk; pid_t owner; } mutex_t; @@ -28,7 +28,16 @@ mutex_lock(mutex_t* mutex); void mutex_unlock(mutex_t* mutex); +void +mutex_lock_nested(mutex_t* mutex); + +void +mutex_unlock_nested(mutex_t* mutex); + void mutex_unlock_for(mutex_t* mutex, pid_t pid); +bool +mutex_trylock(mutex_t* mutex); + #endif /* __LUNAIX_MUTEX_H */