Design hole in nptl (and more general in POSIX threads)
Dragiša Durić <[email protected]> Wed, 17 Dec 2003 12:51:08 +0100
| Newsgroups | gmane.comp.lib.phil |
|---|---|
| Message-ID | <[email protected]> |
Advanced (probably every) garbage collector needs to scan threads stacks for pointers to traced heap being kept in local variable spaces of procedures in suspended threads. While suspending of other threads is possible in portable way (thanks to this list for help) it is not possible, in portable way, to get exact position of active portion of threads stack. Only way (I know of) goes through pthread_getattr_np() call which gives only partial information - one needs stack pointer (obtainable only through oh-so-portable pthread debug interface and only after hacking deeply nested include files for exact info on position of stack pointer in greglist structure. Meaning, it is not possible to implement this fundamental feature of advanced high-level langugages in portable way. Are there plans to fix this somewhere before greglist? :) Thanks, dd