From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Egil Moeller Newsgroups: gmane.lisp.guile.user Subject: out-of-order GC Date: Sun, 29 Dec 2002 17:36:28 +0100 (CET) Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: Reply-To: redhog@redhog.org NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: main.gmane.org 1041195610 24934 80.91.224.249 (29 Dec 2002 21:00:10 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sun, 29 Dec 2002 21:00:10 +0000 (UTC) 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 18SkXU-0006TJ-00 for ; Sun, 29 Dec 2002 22:00:04 +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 18SkWU-0004GZ-06 for guile-user@m.gmane.org; Sun, 29 Dec 2002 15:59:02 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18SkQb-0002mY-00 for guile-user@gnu.org; Sun, 29 Dec 2002 15:52:57 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18SkPn-0002hX-00 for guile-user@gnu.org; Sun, 29 Dec 2002 15:52:10 -0500 Original-Received: from q94.ryd.student.liu.se ([130.236.217.94] helo=redhog.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18SkPk-0002ZA-00 for guile-user@gnu.org; Sun, 29 Dec 2002 15:52:05 -0500 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by redhog.org (Postfix) with ESMTP id 1B0EE5FA22 for ; Sun, 29 Dec 2002 17:36:28 +0100 (CET) X-Sender: Original-To: 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:1477 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1477 Hi! I have a problem developing an extension library to guile in C: I have two types of SMOBs, of which the first one represents a connection, and the second one a transaction on such a connection. A transaction is created by sending some data over the connection, and a handle will be returned, which is then sent back over the connection to close the transaction. Thus, the transaction-SMOB must contain a reference to the connection-SMOB that was used to create it. The problem araises if no external reference exist neither to a connection, nor to a transaction on that connection, and both of them lost their external referrences before a GC. In this case, it might happend that the connection-SMOB i first freed, and then the transaction-SMOB. But the transaction-SMOB-free-routine will now crash, as it tries to access the connection, which has allready been deleted. How should I solve this problem? It is sufficient if the transaction-SMOB-free-routine is notified about that the connection was previously closed, and thus it is able to not take any action to send the close-transaction-command (it would be nicer, thought, if one could force the transaction-SMOB-free-routine to be called _before_ the connection-SMOB-free-routine). Regards, Egil -- http://redhog.org GPG Public key: http://redhog.org/PGP%20Public%20key.asc Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread! _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user