Skip to content

Commit 085073e

Browse files
committed
add assert for service status
1 parent 8382f50 commit 085073e

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

src/ltask.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,7 @@ thread_worker(void *ud) {
693693
service_send_signal(P, id);
694694
}
695695
} else if (mainthread_current(&w->task->mt, id)) {
696+
service_status_set(P, id, SERVICE_STATUS_MAINTHREAD);
696697
mainthread_trigger(&w->task->mt);
697698
} else {
698699
service_status_set(P, id, SERVICE_STATUS_DONE);
@@ -1159,6 +1160,7 @@ lmainthread_wait(lua_State *L) {
11591160
service_id id = mt->srv;
11601161

11611162
debug_printf(task->logger, "service %x run in mainthread", id.id);
1163+
assert(service_status_get(P, id) == SERVICE_STATUS_MAINTHREAD);
11621164
if (service_resume(P, id)) {
11631165
// dead
11641166
debug_printf(task->logger, "service %x is dead in mainthread", id.id);

src/service.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
#define SERVICE_STATUS_RUNNING 3
1616
#define SERVICE_STATUS_DONE 4
1717
#define SERVICE_STATUS_DEAD 5
18+
#define SERVICE_STATUS_MAINTHREAD 6
1819

1920
struct service_pool;
2021
struct ltask_config;

0 commit comments

Comments
 (0)