aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/thread.h1
-rw-r--r--src/libthread/thread.c9
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)
{