From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <1d5d51400901251734o5e7e74a9v13d30e65e5fd27f9@mail.gmail.com> References: <1d5d51400901251734o5e7e74a9v13d30e65e5fd27f9@mail.gmail.com> Date: Mon, 26 Jan 2009 08:04:19 -0800 Message-ID: Subject: Re: [9fans] plan9port openbsd 4.4 From: Russ Cox To: fernanbolando@mailc.net, Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 882bb2bc-ead4-11e9-9d60-3106f5b1d025 The plan9port code depends on the operating system's pthreads being real kernel-level threads, not a fake user-level simulation. The user-level simulations are not good enough, because on the x86 they cut corners and use the stack pointer to locate the thread-local state. The Plan 9 threaded programs manage their own stacks, making it impossible for the user-space simulations to find their thread-local state. Most Linux distributions switched to real threads (i.e., dropped LinuxThreads in favor of NPTL) around the time they switched to the 2.6 kernel. FreeBSD switched in the FreeBSD 5 release. Last I had heard, OpenBSD was still plodding along with user-level threads. Until they fix that, programs like acme will not run. Russ