From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Trouble joining with threads from C Date: Wed, 13 Apr 2011 23:34:29 +0200 Message-ID: <877haxzvh6.fsf@gnu.org> References: <87y64rzd5p.fsf@netris.org> <8762rswzzf.fsf@netris.org> <87vczdqtdx.fsf@gnu.org> <87ipuhzvvk.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1302730492 26482 80.91.229.12 (13 Apr 2011 21:34:52 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 13 Apr 2011 21:34:52 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Apr 13 23:34:49 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QA7i4-0003Eu-91 for guile-devel@m.gmane.org; Wed, 13 Apr 2011 23:34:48 +0200 Original-Received: from localhost ([::1]:38125 helo=lists2.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QA7i3-0007hd-Pi for guile-devel@m.gmane.org; Wed, 13 Apr 2011 17:34:47 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:49292) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QA7i1-0007gV-RG for guile-devel@gnu.org; Wed, 13 Apr 2011 17:34:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QA7i0-0005zr-Sr for guile-devel@gnu.org; Wed, 13 Apr 2011 17:34:45 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:57371) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QA7i0-0005ya-Lu for guile-devel@gnu.org; Wed, 13 Apr 2011 17:34:44 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1QA7hx-0003B5-GO for guile-devel@gnu.org; Wed, 13 Apr 2011 23:34:41 +0200 Original-Received: from reverse-83.fdn.fr ([80.67.176.83]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 13 Apr 2011 23:34:41 +0200 Original-Received: from ludo by reverse-83.fdn.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 13 Apr 2011 23:34:41 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 33 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: reverse-83.fdn.fr X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 24 Germinal an 219 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu User-Agent: Gnus/5.110015 (No Gnus v0.15) Emacs/23.3 (gnu/linux) Cancel-Lock: sha1:lCfp6/ImyoEjV006VpfH3lrvH5U= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:12253 Archived-At: Hello, ludo@gnu.org (Ludovic Courtès) writes: > ludo@gnu.org (Ludovic Courtès) writes: >> Andy Wingo writes: >> >>> No, the issue is elsewhere, that the thread-exit handlers were not being >>> called >> >> I just tried with 60582b7c2a495957012f9a20cd8691dc6307a850 and >> ‘on_thread_exit’ /is/ called after something like >> ‘(call-with-new-thread (lambda () #t))’. > > The thread-exit handlers were not being called *for threads launched by > scm_spawn_thread*. > > The patch below (against 60582b7c2a495957012f9a20cd8691dc6307a850) fixes it. After reviewing f60a7648d5926555c7760364a6fbb7dc0cf60720 (which addressed the same issue), I lean towards reverting it and instead applying the patch I just sent. The problem I see with f60a7648d5926555c7760364a6fbb7dc0cf60720 is that it re-introduces a pthread_key, even when using TLS, and make things a bit complex IMO. Thoughts? Besides, reverting it may fix --without-threads builds. Thanks, Ludo’.