Skip to content

Commit d4b4a60

Browse files
committed
add locking around requests
1 parent 35a3faa commit d4b4a60

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/thingset_bin.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,25 +942,39 @@ int thingset_bin_process(struct thingset_context *ts)
942942
/* requests ordered with expected highest probability first */
943943
switch (ts->msg[0]) {
944944
case THINGSET_BIN_GET:
945+
thingset_acquire_read_lock(ts->context, K_FOREVER);
945946
ret = thingset_common_get(ts);
947+
thingset_release_read_lock(ts->context);
946948
break;
947949
case THINGSET_BIN_FETCH:
950+
thingset_acquire_read_lock(ts->context, K_FOREVER);
948951
ret = thingset_common_fetch(ts);
952+
thingset_release_read_lock(ts->context);
949953
break;
950954
case THINGSET_BIN_UPDATE:
955+
thingset_acquire_write_lock(ts->context, K_FOREVER);
951956
ret = thingset_common_update(ts);
957+
thingset_release_write_lock(ts->context);
952958
break;
953959
case THINGSET_BIN_EXEC:
960+
thingset_acquire_write_lock(ts->context, K_FOREVER);
954961
ret = thingset_common_exec(ts);
962+
thingset_release_write_lock(ts->context);
955963
break;
956964
case THINGSET_BIN_CREATE:
965+
thingset_acquire_write_lock(ts->context, K_FOREVER);
957966
ret = thingset_common_create(ts);
967+
thingset_release_write_lock(ts->context);
958968
break;
959969
case THINGSET_BIN_DELETE:
970+
thingset_acquire_write_lock(ts->context, K_FOREVER);
960971
ret = thingset_common_delete(ts);
972+
thingset_release_write_lock(ts->context);
961973
break;
962974
case THINGSET_BIN_DESIRE:
975+
thingset_acquire_read_lock(ts->context, K_FOREVER);
963976
ret = thingset_bin_desire(ts);
977+
thingset_release_read_lock(ts->context);
964978
break;
965979
default:
966980
return -THINGSET_ERR_BAD_REQUEST;

0 commit comments

Comments
 (0)