Flexelint: declare stevedore API as threaded

parent ae4ebf01
......@@ -46,11 +46,15 @@
#endif
#include "fellow_inject.h"
// pretty useless, but also harmless to help Flexelint
static pthread_mutex_t wrong_mtx = PTHREAD_MUTEX_INITIALIZER;
static char wrongbuf[1024];
#define FC_WRONG(...) do { \
bprintf(wrongbuf, __VA_ARGS__); \
WRONG(wrongbuf); \
#define FC_WRONG(...) do { \
PTOK(pthread_mutex_lock(&wrong_mtx)); \
bprintf(wrongbuf, __VA_ARGS__); \
WRONG(wrongbuf); \
PTOK(pthread_mutex_unlock(&wrong_mtx)); \
} while (0)
static pthread_mutexattr_t fc_mtxattr_errorcheck;
......@@ -2877,6 +2881,7 @@ fellow_cache_async_write_complete(struct fellow_cache *fc,
case FCOL_DELETED:
FC_WRONG("fellow_cache_async_write_complete "
"wrong logstate %d", fco->logstate);
break;
default:
WRONG("fellow_cache_async_write_complete "
"invalid logstate");
......
......@@ -6,6 +6,21 @@
-sem(Lck_Lock, thread_lock)
-sem(Lck_Unlock, thread_unlock)
-sem(sfemem_objfree, thread)
-sem(sfemem_iterator, thread)
-sem(sfemem_getspace, thread)
-sem(sfemem_extend, thread)
-sem(sfemem_getattr, thread)
-sem(sfemem_setattr, thread)
-sem(sfemem_trimstore, thread)
-sem(sfemem_bocdone, thread)
-sem(sfemem_objslim, thread)
-sem(sfemem_touch, thread)
-sem(sfedsk_objfree, thread)
-sem(sfedsk_iterator, thread)
-sem(sfedsk_getattr, thread)
-sem(sfedsk_objslim, thread)
-e801 // goto
-e716 // while(1)
......@@ -85,7 +100,7 @@
-esym(528, init_*, assert_fcos*)
-esym(755, BWIT_*)
-esym(755, fc_inj_*, FC_INJ_SZLIM_SET) // not referenced
-esym(457, assert_fcos_transition) // wrongbuf
-emacro(827, FC_WRONG) // Loop not reachable
// fellow_io_uring.c
-emacro(835, BLKDISCARD)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment