|
13 | 13 | #define FDB_LOG_TAG "[main]"
|
14 | 14 |
|
15 | 15 | static pthread_mutex_t kv_locker, ts_locker;
|
| 16 | +static pthread_mutexattr_t kv_locker_attr, ts_locker_attr; |
16 | 17 | static uint32_t boot_count = 0;
|
17 | 18 | static time_t boot_time[10] = {0, 1, 2, 3};
|
18 | 19 | /* default KV nodes */
|
@@ -62,7 +63,9 @@ int main(void)
|
62 | 63 | default_kv.kvs = default_kv_table;
|
63 | 64 | default_kv.num = sizeof(default_kv_table) / sizeof(default_kv_table[0]);
|
64 | 65 | /* 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); |
66 | 69 | fdb_kvdb_control(&kvdb, FDB_KVDB_CTRL_SET_LOCK, (void *)lock);
|
67 | 70 | fdb_kvdb_control(&kvdb, FDB_KVDB_CTRL_SET_UNLOCK, (void *)unlock);
|
68 | 71 | /* set the sector and database max size */
|
@@ -99,7 +102,9 @@ int main(void)
|
99 | 102 | #ifdef FDB_USING_TSDB
|
100 | 103 | { /* TSDB Sample */
|
101 | 104 | /* 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); |
103 | 108 | fdb_tsdb_control(&tsdb, FDB_TSDB_CTRL_SET_LOCK, (void *)lock);
|
104 | 109 | fdb_tsdb_control(&tsdb, FDB_TSDB_CTRL_SET_UNLOCK, (void *)unlock);
|
105 | 110 | /* set the sector and database max size */
|
|
0 commit comments