diff options
author | lantw44 <lantw44@gmail.com> | 2013-01-26 20:29:09 +0800 |
---|---|---|
committer | lantw44 <lantw44@gmail.com> | 2013-01-26 20:29:09 +0800 |
commit | c41f897304100c89451e91acb0a47b3f07fc7b51 (patch) | |
tree | 474fb9045318b674cf01c70f087cb6efabbdf3a9 /src/main.c | |
parent | e5ee20baf2abee4527a01193a30ea27a33ca1e31 (diff) | |
download | sctjudge-c41f897304100c89451e91acb0a47b3f07fc7b51.tar.gz sctjudge-c41f897304100c89451e91acb0a47b3f07fc7b51.tar.zst sctjudge-c41f897304100c89451e91acb0a47b3f07fc7b51.zip |
清除所有 pthread_cancel()
已使用 sem_timedwait 和 sem_post 取代所有以往需要 pthread_cancel 的地方
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -418,7 +418,8 @@ int main(int argc, char* argv[]){ pthread_mutex_init(&tdisplay_mx, NULL); pthread_mutex_init(&judge_tle_mx, NULL); sem_init(&mcthr, 0, 0); - sem_init(&addthr, 0, 0); + sem_init(&tlethr, 0, 0); + sem_init(&dispthr, 0, 0); pthread_create(&tmain, &joistate, &sctjudge_makechild, (void*)&mcopt); if(!dryrun){ pthread_create(&tkill, &detstate, &sctjudge_checktle, @@ -439,7 +440,8 @@ int main(int argc, char* argv[]){ pthread_mutex_destroy(&tdisplay_mx); sem_destroy(&mcthr); - sem_destroy(&addthr); + sem_destroy(&tlethr); + sem_destroy(&dispthr); if(dryrun){ return SCTEXIT_SUCCESS; |