diff options
-rw-r--r-- | src/libthread/thread.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libthread/thread.c b/src/libthread/thread.c index d79bd1a9..6c31cb76 100644 --- a/src/libthread/thread.c +++ b/src/libthread/thread.c @@ -510,6 +510,15 @@ static void threadmainstart(void *v) { USED(v); + + /* + * N.B. This call to proc() is a program's first call (indirectly) to a + * pthreads function while executing on a non-pthreads-allocated + * stack. If the pthreads implementation is using the stack pointer + * to locate the per-thread data, then this call will blow up. + * This means the pthread implementation is not suitable for + * running under libthread. Time to write your own. Sorry. + */ threadmainproc = proc(); threadmain(threadargc, threadargv); } |