wfstack: add missing union parameters
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Sat, 18 Oct 2014 14:36:36 +0000 (16:36 +0200)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 22 Oct 2014 23:00:08 +0000 (19:00 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu/static/wfstack.h
urcu/wfstack.h
wfstack.c

index eb12f377d1e1d974c43b2705bd6eab73d5634550..261ff2c2a46ab278ee8f1324db1e406e02b4a1ca 100644 (file)
@@ -172,10 +172,11 @@ ___cds_wfs_node_sync_next(struct cds_wfs_node *node, int blocking)
 
 static inline
 struct cds_wfs_node *
-___cds_wfs_pop(struct cds_wfs_stack *s, int *state, int blocking)
+___cds_wfs_pop(cds_wfs_stack_ptr_t u_stack, int *state, int blocking)
 {
        struct cds_wfs_head *head, *new_head;
        struct cds_wfs_node *next;
+       struct __cds_wfs_stack *s = u_stack._s;
 
        if (state)
                *state = 0;
@@ -221,16 +222,16 @@ ___cds_wfs_pop(struct cds_wfs_stack *s, int *state, int blocking)
  */
 static inline
 struct cds_wfs_node *
-___cds_wfs_pop_with_state_blocking(struct cds_wfs_stack *s, int *state)
+___cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t u_stack, int *state)
 {
-       return ___cds_wfs_pop(s, state, 1);
+       return ___cds_wfs_pop(u_stack, state, 1);
 }
 
 static inline
 struct cds_wfs_node *
-___cds_wfs_pop_blocking(struct cds_wfs_stack *s)
+___cds_wfs_pop_blocking(cds_wfs_stack_ptr_t u_stack)
 {
-       return ___cds_wfs_pop_with_state_blocking(s, NULL);
+       return ___cds_wfs_pop_with_state_blocking(u_stack, NULL);
 }
 
 /*
@@ -243,9 +244,9 @@ ___cds_wfs_pop_blocking(struct cds_wfs_stack *s)
  */
 static inline
 struct cds_wfs_node *
-___cds_wfs_pop_with_state_nonblocking(struct cds_wfs_stack *s, int *state)
+___cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t u_stack, int *state)
 {
-       return ___cds_wfs_pop(s, state, 0);
+       return ___cds_wfs_pop(u_stack, state, 0);
 }
 
 /*
@@ -256,9 +257,9 @@ ___cds_wfs_pop_with_state_nonblocking(struct cds_wfs_stack *s, int *state)
  */
 static inline
 struct cds_wfs_node *
-___cds_wfs_pop_nonblocking(struct cds_wfs_stack *s)
+___cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t u_stack)
 {
-       return ___cds_wfs_pop_with_state_nonblocking(s, NULL);
+       return ___cds_wfs_pop_with_state_nonblocking(u_stack, NULL);
 }
 
 /*
index b914f41e6cfdd17e42648ef0867bf92b4526da1c..362caccfa568b8631542238e0172e88763faaa44 100644 (file)
@@ -108,6 +108,7 @@ typedef union __attribute__((__transparent_union__)) {
 
 #define cds_wfs_node_init              _cds_wfs_node_init
 #define cds_wfs_init                   _cds_wfs_init
+#define __cds_wfs_init                 ___cds_wfs_init
 #define cds_wfs_empty                  _cds_wfs_empty
 #define cds_wfs_push                   _cds_wfs_push
 
@@ -258,7 +259,7 @@ extern void cds_wfs_pop_unlock(struct cds_wfs_stack *s);
  * 3) Ensuring that only ONE thread can call __cds_wfs_pop_blocking()
  *    and __cds_wfs_pop_all(). (multi-provider/single-consumer scheme).
  */
-extern struct cds_wfs_node *__cds_wfs_pop_blocking(struct cds_wfs_stack *s);
+extern struct cds_wfs_node *__cds_wfs_pop_blocking(cds_wfs_stack_ptr_t u_stack);
 
 /*
  * __cds_wfs_pop_with_state_blocking: pop a node from the stack, with state.
@@ -267,7 +268,8 @@ extern struct cds_wfs_node *__cds_wfs_pop_blocking(struct cds_wfs_stack *s);
  * empty into state (CDS_WFS_STATE_LAST).
  */
 extern struct cds_wfs_node *
-       __cds_wfs_pop_with_state_blocking(struct cds_wfs_stack *s, int *state);
+       __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t u_stack,
+               int *state);
 
 /*
  * __cds_wfs_pop_nonblocking: pop a node from the stack.
@@ -275,7 +277,7 @@ extern struct cds_wfs_node *
  * Same as __cds_wfs_pop_blocking, but returns CDS_WFS_WOULDBLOCK if
  * it needs to block.
  */
-extern struct cds_wfs_node *__cds_wfs_pop_nonblocking(struct cds_wfs_stack *s);
+extern struct cds_wfs_node *__cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t u_stack);
 
 /*
  * __cds_wfs_pop_with_state_nonblocking: pop a node from the stack, with state.
@@ -284,7 +286,7 @@ extern struct cds_wfs_node *__cds_wfs_pop_nonblocking(struct cds_wfs_stack *s);
  * empty into state (CDS_WFS_STATE_LAST).
  */
 extern struct cds_wfs_node *
-       __cds_wfs_pop_with_state_nonblocking(struct cds_wfs_stack *s,
+       __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t u_stack,
                int *state);
 
 /*
@@ -304,7 +306,7 @@ extern struct cds_wfs_node *
  * 3) Ensuring that only ONE thread can call __cds_wfs_pop_blocking()
  *    and __cds_wfs_pop_all(). (multi-provider/single-consumer scheme).
  */
-extern struct cds_wfs_head *__cds_wfs_pop_all(struct cds_wfs_stack *s);
+extern struct cds_wfs_head *__cds_wfs_pop_all(cds_wfs_stack_ptr_t u_stack);
 
 #endif /* !_LGPL_SOURCE */
 
index fec9e477c20b3c561b74352ad1acb97004d68ad8..7618be3b38c51e1f824d13d0c0a6e10839874ec6 100644 (file)
--- a/wfstack.c
+++ b/wfstack.c
@@ -43,14 +43,14 @@ void __cds_wfs_init(struct __cds_wfs_stack *s)
        ___cds_wfs_init(s);
 }
 
-bool cds_wfs_empty(struct cds_wfs_stack *s)
+bool cds_wfs_empty(cds_wfs_stack_ptr_t u_stack)
 {
-       return _cds_wfs_empty(s);
+       return _cds_wfs_empty(u_stack);
 }
 
-int cds_wfs_push(struct cds_wfs_stack *s, struct cds_wfs_node *node)
+int cds_wfs_push(cds_wfs_stack_ptr_t u_stack, struct cds_wfs_node *node)
 {
-       return _cds_wfs_push(s, node);
+       return _cds_wfs_push(u_stack, node);
 }
 
 struct cds_wfs_node *cds_wfs_pop_blocking(struct cds_wfs_stack *s)
@@ -94,27 +94,28 @@ void cds_wfs_pop_unlock(struct cds_wfs_stack *s)
        _cds_wfs_pop_unlock(s);
 }
 
-struct cds_wfs_node *__cds_wfs_pop_blocking(struct cds_wfs_stack *s)
+struct cds_wfs_node *__cds_wfs_pop_blocking(cds_wfs_stack_ptr_t u_stack)
 {
-       return ___cds_wfs_pop_blocking(s);
+       return ___cds_wfs_pop_blocking(u_stack);
 }
 
 struct cds_wfs_node *
-       __cds_wfs_pop_with_state_blocking(struct cds_wfs_stack *s, int *state)
+       __cds_wfs_pop_with_state_blocking(cds_wfs_stack_ptr_t u_stack,
+               int *state)
 {
-       return ___cds_wfs_pop_with_state_blocking(s, state);
+       return ___cds_wfs_pop_with_state_blocking(u_stack, state);
 }
 
-struct cds_wfs_node *__cds_wfs_pop_nonblocking(struct cds_wfs_stack *s)
+struct cds_wfs_node *__cds_wfs_pop_nonblocking(cds_wfs_stack_ptr_t u_stack)
 {
-       return ___cds_wfs_pop_nonblocking(s);
+       return ___cds_wfs_pop_nonblocking(u_stack);
 }
 
 struct cds_wfs_node *
-       __cds_wfs_pop_with_state_nonblocking(struct cds_wfs_stack *s,
+       __cds_wfs_pop_with_state_nonblocking(cds_wfs_stack_ptr_t u_stack,
                int *state)
 {
-       return ___cds_wfs_pop_with_state_nonblocking(s, state);
+       return ___cds_wfs_pop_with_state_nonblocking(u_stack, state);
 }
 
 struct cds_wfs_head *__cds_wfs_pop_all(cds_wfs_stack_ptr_t u_stack)
This page took 0.029292 seconds and 4 git commands to generate.