aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorlantw44 <lantw44@gmail.com>2013-01-26 20:29:09 +0800
committerlantw44 <lantw44@gmail.com>2013-01-26 20:29:09 +0800
commitc41f897304100c89451e91acb0a47b3f07fc7b51 (patch)
tree474fb9045318b674cf01c70f087cb6efabbdf3a9 /src/main.c
parente5ee20baf2abee4527a01193a30ea27a33ca1e31 (diff)
downloadsctjudge-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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index d46c4c3..eabf764 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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;