Added the cancelation setting to make sure the thread stops immediately.
This commit is contained in:
parent
0d66719c5a
commit
eb78e5e1f4
@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
* src/thread.c (thread_main_loop): Moved the looping code into
|
* src/thread.c (thread_main_loop): Moved the looping code into
|
||||||
this function from the main() function. Just a bit of clean up.
|
this function from the main() function. Just a bit of clean up.
|
||||||
|
(thread_main): Changed the default cancelation point to
|
||||||
|
asynchronous, which means immediately. This should fix up the
|
||||||
|
problem where the threads would not free correctly.
|
||||||
|
|
||||||
2002-04-07 Robert James Kaes <rjkaes@flarenet.com>
|
2002-04-07 Robert James Kaes <rjkaes@flarenet.com>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: thread.c,v 1.22 2002-04-08 21:35:10 rjkaes Exp $
|
/* $Id: thread.c,v 1.23 2002-04-09 00:37:43 rjkaes Exp $
|
||||||
*
|
*
|
||||||
* Handles the creation/destruction of the various threads required for
|
* Handles the creation/destruction of the various threads required for
|
||||||
* processing incoming connections.
|
* processing incoming connections.
|
||||||
@ -118,6 +118,9 @@ thread_main(void *arg)
|
|||||||
socklen_t clilen;
|
socklen_t clilen;
|
||||||
struct thread_s *ptr;
|
struct thread_s *ptr;
|
||||||
|
|
||||||
|
/* Set the cancelation type to immediate. */
|
||||||
|
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||||
|
|
||||||
ptr = (struct thread_s *) arg;
|
ptr = (struct thread_s *) arg;
|
||||||
|
|
||||||
cliaddr = safemalloc(addrlen);
|
cliaddr = safemalloc(addrlen);
|
||||||
|
Loading…
Reference in New Issue
Block a user