From owner-freebsd-hackers Thu Jul 27 21:54:14 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from idet.rsn.hk-r.se (idet.rsn.hk-r.se [194.47.142.179]) by hub.freebsd.org (Postfix) with ESMTP id E674637B9C5 for ; Thu, 27 Jul 2000 21:53:55 -0700 (PDT) (envelope-from bjorn@tornqvist.net) Received: from tornqvist.net ([194.52.130.37]) by idet.rsn.hk-r.se (8.9.3/8.9.3) with ESMTP id GAA97046 for ; Fri, 28 Jul 2000 06:50:26 +0200 (CEST) (envelope-from bjorn@tornqvist.net) Message-ID: <398111DA.443B41F9@tornqvist.net> Date: Fri, 28 Jul 2000 06:53:46 +0200 From: Bjorn Tornqvist Organization: West Entertainment Solutions & Technologies AB X-Mailer: Mozilla 4.72 [en] (X11; I; Linux 2.2.12 i386) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Subject: BSD,Posix,Linux Threading - Are they really useable? Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Howdy all, I must have missed something very importand w.r.t threads under FreeBSD, here's what I've come up with during the last week: PosixThreads are userland threads - if one thread blocks on i/o the whole process is blocked. Which makes PosixThreads rather useless. FreeBSD Kernel-threads (dunno what they are called actually) can't be used natively!? (Searched the archives and found an explanation that the only way to access normal kernel SMP-thread functionality is to use LinuxThreads) LinuxThreads: While they are kernel-threads, if one thread receives an uncought signal, all threads are killed (as they should be), but the resulting coredump is useless since it only captures the state of the last-killed-thread (or process or whatever you want to call it. LinuxThreads seems like just a big hack...). How do I use normal kernel-threads that will allow all nonblocked threads in a process to work concurrently, *and* will generate useful coredumps? There must be a way - I've just haven't found any documentation on the subject. And yes, I must use threads - fork()ing will only give me the same trouble as LinuxThreads (a process sharing memory with another won't give a corefile). Please help me with this one. //Bjorn Tornqvist, West Entertainment Solutions & Technologies AB To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message