blob: 006eef86654c9d8828ba2c6c5791e0050af2b99a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
--- wzdftpd/wzd_ServerThread.c.orig 2023-02-11 11:33:03 UTC
+++ wzdftpd/wzd_ServerThread.c
@@ -934,7 +934,7 @@ static void server_login_accept(wzd_context_t * contex
out_err(LEVEL_CRITICAL,"Unable to create thread\n");
return;
}
- context->pid_child = (unsigned long)WZD_THREAD_VOID(&thread);
+ context->pid_child = (pthread_t)WZD_THREAD_VOID(&thread);
wzd_thread_attr_destroy(&thread_attr); /* not needed anymore */
}
@@ -1624,10 +1624,12 @@ void serverMainThreadCleanup(int retcode)
{
ListElmt * elmnt;
wzd_context_t * loop_context;
+ wzd_thread_t child;
for (elmnt=list_head(context_list); elmnt!=NULL; elmnt=list_next(elmnt))
{
if ((loop_context = list_data(elmnt))) {
- wzd_thread_cancel(loop_context->pid_child);
+ child._t = loop_context->pid_child;
+ wzd_thread_cancel(&child);
#ifdef WIN32
/** \todo remove this when wzd_thread_cancel is implemented on windows */
loop_context->exitclient = 1;
|