Factorize code so that _DEF macros use _DEF_AS ones

This commit is contained in:
Patrick Pelissier committed 2021-02-07 23:04:59 +01:00
1 parent d12b1edc39
commit 25497bd96f
18 files changed
+61 -185

No files matched your search

+3 -15
View File
@@ -54,11 +54,7 @@ typedef enum {
/* Define a lock based buffer.
USAGE: BUFFER_DEF(name, type, size_of_buffer_or_0, policy[, oplist]) */
#define BUFFER_DEF(name, type, m_size, ... ) \
M_BEGIN_PROTECTED_CODE \
BUFFERI_DEF_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
((name, type, m_size,__VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(type)(), M_C(name,_t)), \
(name, type, m_size,__VA_ARGS__, M_C(name,_t)))) \
M_END_PROTECTED_CODE
BUFFER_DEF_AS(name, M_C(name, _t), type, m_size, __VA_ARGS__)
/* Define a lock based buffer
@@ -85,11 +81,7 @@ typedef enum {
Size of created queue can only a power of 2.
*/
#define QUEUE_MPMC_DEF(name, type, ...) \
M_BEGIN_PROTECTED_CODE \
QUEUEI_MPMC_DEF_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
((name, type, __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(type)(), M_C(name,_t)), \
(name, type, __VA_ARGS__, M_C(name,_t)))) \
M_END_PROTECTED_CODE
QUEUE_MPMC_DEF_AS(name, M_C(name,_t), type, __VA_ARGS__)
/* Define a nearly lock-free queue for Many Producer Many Consummer
@@ -110,11 +102,7 @@ typedef enum {
Size of created queue can only a power of 2.
*/
#define QUEUE_SPSC_DEF(name, type, ...) \
M_BEGIN_PROTECTED_CODE \
QUEUEI_SPSC_DEF_P1(M_IF_NARGS_EQ1(__VA_ARGS__) \
((name, type, __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(type)(), M_C(name,_t)), \
(name, type, __VA_ARGS__, M_C(name,_t)))) \
M_END_PROTECTED_CODE
QUEUE_SPSC_DEF_AS(name, M_C(name, _t), type, __VA_ARGS__)
/* Define a wait-free queue for Single Producer Single Consummer