From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.user Subject: Re: out-of-order GC Date: 01 Jan 2003 17:58:06 +0000 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1041455968 9414 80.91.224.249 (1 Jan 2003 21:19:28 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Wed, 1 Jan 2003 21:19:28 +0000 (UTC) Cc: guile-user@gnu.org Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18TqGt-0002Rg-00 for ; Wed, 01 Jan 2003 22:19:27 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18Tq2s-0002Ca-04 for guile-user@m.gmane.org; Wed, 01 Jan 2003 16:04:58 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18ToOe-0005lN-00 for guile-user@gnu.org; Wed, 01 Jan 2003 14:19:20 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18ToOc-0005lC-00 for guile-user@gnu.org; Wed, 01 Jan 2003 14:19:19 -0500 Original-Received: from mail.uklinux.net ([80.84.72.21] helo=s1.uklinux.net) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18ToOb-0005ji-00 for guile-user@gnu.org; Wed, 01 Jan 2003 14:19:18 -0500 Original-Received: from laruns.ossau.uklinux.net (bts-0084.dialup.zetnet.co.uk [194.247.48.84]) by s1.uklinux.net (8.11.6/8.11.6) with ESMTP id h01JJF013868; Wed, 1 Jan 2003 19:19:15 GMT Original-Received: from laruns.ossau.uklinux.net.ossau.uklinux.net (localhost [127.0.0.1])ESMTP id 076CBDC4D4; Wed, 1 Jan 2003 17:58:06 +0000 (GMT) Original-To: redhog@redhog.org In-Reply-To: Original-Lines: 38 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: General Guile related discussions List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:1494 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1494 >>>>> "Egil" == Egil Moeller writes: Egil> Aha, so that's how it should be done. Is it the pointer (on Egil> the resource SMOB), or the diplay SMOB itself that is Egil> marked? The display SMOB (i.e. the SMOB cells on the heap). Egil> And in the latter cae, what if the space has Egil> allready been reused, or can't that happend? If I understand correctly, this whole scenario is only difficult if both "resource" and "display" SMOBs are GC'd in the same GC cycle. So it isn't possible that the cells used for the display SMOB are already being reused. (I think; it would be good if a GC expert could check my logic here.) Egil> And what is the Egil> name of the C function to check the pointer for what type it Egil> is? There isn't a function. My code does this: if ((SCM_TYP16 (win->dsp) == scm_tc16_xdisplay) && ...) scm_x_destroy_window_x (window); If it followed the pattern in most of libguile, it should instead be: #define SCM_XDISPLAYP(x) SCM_TYP16_PREDICATE (scm_tc16_xdisplay, x) if (SCM_XDISPLAYP (win->dsp) && ...) scm_x_destroy_window_x (window); Regards, Neil _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user