| tlibthread: fix fault in teardown of proc - plan9port - [fork] Plan 9 from user… | |
| git clone git://src.adamsgaard.dk/plan9port | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| commit 481b596d9389076d686832e0a3c26fc7b550c532 | |
| parent 573169dd88ac5ca0cf75d09464dddba398e83011 | |
| Author: Russ Cox <[email protected]> | |
| 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(-) | |
| --- | |
| 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 | |
| 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); |