diff --git a/server.c b/server.c index c80f9d9..679df2d 100644 --- a/server.c +++ b/server.c @@ -771,6 +771,13 @@ static void handle_accept(void *p) { #endif } CONV_END: puts("Conversation end"); + if(timer_pointer_of(p)->accept_fd) { + close(timer_pointer_of(p)->accept_fd); + timer_pointer_of(p)->accept_fd = 0; + puts("Close accept"); + } + close_dict(timer_pointer_of(p)->index); + setdicts[timer_pointer_of(p)->index].data[0] = 0; pthread_rwlock_wrlock(&timer_pointer_of(p)->mb); timer_pointer_of(p)->isbusy = 0; pthread_mutex_lock(&timer_pointer_of(p)->mc);