git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix file system racing and ext2 directory insertion (#58)
[lunaix-os.git]
/
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 162186c05139b0376c552682e483c9ae0ba99e01..304cc6de7cb1ae5a6830cf2722b9acd89a0fa648 100644
(file)
--- a/
lunaix-os/includes/lunaix/ds/mutex.h
+++ b/
lunaix-os/includes/lunaix/ds/mutex.h
@@
-6,7
+6,7
@@
typedef struct mutex_s
{
typedef struct mutex_s
{
- atomic_u
long
lk;
+ atomic_u
int
lk;
pid_t owner;
} mutex_t;
pid_t owner;
} mutex_t;
@@
-28,7
+28,16
@@
mutex_lock(mutex_t* mutex);
void
mutex_unlock(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);
void
mutex_unlock_for(mutex_t* mutex, pid_t pid);
+bool
+mutex_trylock(mutex_t* mutex);
+
#endif /* __LUNAIX_MUTEX_H */
#endif /* __LUNAIX_MUTEX_H */