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
Support to multi-threading and pthread interface (POSIX.1-2008) (#23)
[lunaix-os.git]
/
lunaix-os
/
includes
/
lunaix
/
ds
/
waitq.h
diff --git
a/lunaix-os/includes/lunaix/ds/waitq.h
b/lunaix-os/includes/lunaix/ds/waitq.h
index dfeb7c377893cdae489521b7c93f6cd8b7c23d29..efcc808eeff3ec0fad96325beb3d5af9c22a7008 100644
(file)
--- a/
lunaix-os/includes/lunaix/ds/waitq.h
+++ b/
lunaix-os/includes/lunaix/ds/waitq.h
@@
-8,12
+8,24
@@
typedef struct waitq
struct llist_header waiters;
} waitq_t;
struct llist_header waiters;
} waitq_t;
-inline void
+
static
inline void
waitq_init(waitq_t* waitq)
{
llist_init_head(&waitq->waiters);
}
waitq_init(waitq_t* waitq)
{
llist_init_head(&waitq->waiters);
}
+static inline int
+waitq_empty(waitq_t* waitq)
+{
+ return llist_empty(&waitq->waiters);
+}
+
+static inline void
+waitq_cancel_wait(waitq_t* waitq)
+{
+ llist_delete(&waitq->waiters);
+}
+
void
pwait(waitq_t* queue);
void
pwait(waitq_t* queue);