tlibthread: fix fault in teardown of proc - plan9port - [fork] Plan 9 from user space
(HTM) git clone git://src.adamsgaard.dk/plan9port
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 481b596d9389076d686832e0a3c26fc7b550c532
(DIR) parent 573169dd88ac5ca0cf75d09464dddba398e83011
(HTM) Author: Russ Cox <rsc@swtch.com>
Date: Mon, 13 Jan 2020 23:26:26 -0500
libthread: fix fault in teardown of proc
Fixes #332.
Diffstat:
M src/libthread/thread.c | 1 +
M src/libthread/threadimpl.h | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/src/libthread/thread.c b/src/libthread/thread.c
t@@ -429,6 +429,7 @@ Out:
unlock(&p->lock);
_threadsetproc(nil);
free(p);
+ _threadpexit();
}
void
(DIR) diff --git a/src/libthread/threadimpl.h b/src/libthread/threadimpl.h
t@@ -197,7 +197,7 @@ extern Channel *_dowaitchan;
extern void _procstart(Proc*, void (*fn)(Proc*));
extern _Thread *_threadcreate(Proc*, void(*fn)(void*), void*, uint);
-extern void _threadexit(void);
+extern void _procexit(void);
extern Proc *_threadproc(void);
extern void _threadsetproc(Proc*);
extern int _threadlock(Lock*, int, ulong);