Skip to content

Commit 6710c6d

Browse files
RiceChen0ricechen
and
ricechen
authored
[demo][linux] Change an ordinary lock to a recursive lock (#339)
Co-authored-by: ricechen <[email protected]>
1 parent d44118c commit 6710c6d

File tree

1 file changed

+7
-2
lines changed
  • demos/linux/applications

1 file changed

+7
-2
lines changed

demos/linux/applications/main.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#define FDB_LOG_TAG "[main]"
1414

1515
static pthread_mutex_t kv_locker, ts_locker;
16+
static pthread_mutexattr_t kv_locker_attr, ts_locker_attr;
1617
static uint32_t boot_count = 0;
1718
static time_t boot_time[10] = {0, 1, 2, 3};
1819
/* default KV nodes */
@@ -62,7 +63,9 @@ int main(void)
6263
default_kv.kvs = default_kv_table;
6364
default_kv.num = sizeof(default_kv_table) / sizeof(default_kv_table[0]);
6465
/* set the lock and unlock function if you want */
65-
pthread_mutex_init(&kv_locker, NULL);
66+
pthread_mutexattr_init(&kv_locker_attr);
67+
pthread_mutexattr_settype(&kv_locker_attr, PTHREAD_MUTEX_RECURSIVE);
68+
pthread_mutex_init(&kv_locker, &kv_locker_attr);
6669
fdb_kvdb_control(&kvdb, FDB_KVDB_CTRL_SET_LOCK, (void *)lock);
6770
fdb_kvdb_control(&kvdb, FDB_KVDB_CTRL_SET_UNLOCK, (void *)unlock);
6871
/* set the sector and database max size */
@@ -99,7 +102,9 @@ int main(void)
99102
#ifdef FDB_USING_TSDB
100103
{ /* TSDB Sample */
101104
/* set the lock and unlock function if you want */
102-
pthread_mutex_init(&ts_locker, NULL);
105+
pthread_mutexattr_init(&ts_locker_attr);
106+
pthread_mutexattr_settype(&ts_locker_attr, PTHREAD_MUTEX_RECURSIVE);
107+
pthread_mutex_init(&ts_locker, &ts_locker_attr);
103108
fdb_tsdb_control(&tsdb, FDB_TSDB_CTRL_SET_LOCK, (void *)lock);
104109
fdb_tsdb_control(&tsdb, FDB_TSDB_CTRL_SET_UNLOCK, (void *)unlock);
105110
/* set the sector and database max size */

0 commit comments

Comments
 (0)