diff options
-rw-r--r-- | include/thread.h | 1 | ||||
-rw-r--r-- | src/libthread/thread.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/thread.h b/include/thread.h index 75592ee9..9424d37e 100644 --- a/include/thread.h +++ b/include/thread.h @@ -23,6 +23,7 @@ void _threadsetsysproc(void); void _threadsleep(Rendez*); _Thread *_threadwakeup(Rendez*); #define yield threadyield +int threadid(void); /* * I am tired of making this mistake. diff --git a/src/libthread/thread.c b/src/libthread/thread.c index 145a5033..ca4d35af 100644 --- a/src/libthread/thread.c +++ b/src/libthread/thread.c @@ -370,6 +370,15 @@ threadsetstate(char *fmt, ...) va_end(arg); } +int +threadid(void) +{ + _Thread *t; + + t = proc()->thread; + return t->id; +} + void needstack(int n) { |