Update comments

This commit is contained in:
Patrick Pelissier committed 2024-11-09 14:54:16 +01:00
1 parent 8faf7f79c4
commit b92bae34eb
1 file changed
+19
+19
View File
@@ -29,6 +29,24 @@
#include "m-atomic.h"
#include "m-thread.h"
/* There are two kinds of shared pointer:
* * weak shared pointer (support only one thread)
* * shared pointer (support for multiple threads both for the counter and lock for the data)
*
* There are 3 flavors:
* * DECL : for header files, declare only the functions.
* * DEF_EXTERN: for source files, define the functions (to be used with DECL)
* * DEF: for header/source files, define the function as static inline.
*
* You can provide or not the name of the shared pointer (_AS)
*
* Therefore we got 12 macros.
*
* There are 2 oplists:
* * one to handle the shared pointer itself (ie.a copy create a new pointer to the data),
* * one to handle the data behind the shared pointer (ie. a copy create a new data)
*/
/* Declare a shared weak pointer (not atomic, single thread) for use in header file.
oplist is mandatory but is only used to test if a function has to be declared */
#define M_SHARED_WEAK_PTR_DECL(name, oplist) \
@@ -93,6 +111,7 @@
((name, shared_t, __VA_ARGS__, M_GLOBAL_OPLIST_OR_DEF(__VA_ARGS__)(), static inline ), \
(name, shared_t, __VA_ARGS__, static inline )))
/* Define the oplist of a shared pointer given its name and its oplist.
Oplist is mandatory.
USAGE: SHARED_PTR_OPLIST(name, oplist of the type) */