From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Linas Vepstas Newsgroups: gmane.lisp.guile.user Subject: [PATCH 1/12] Guile-DBI: Avoid multiple init Date: Fri, 19 Sep 2008 09:00:15 -0500 Message-ID: <20080919140015.GA13684@linas.org> References: <3ae3aa420809190645o2fe2b746id80f53c5cb123e5b@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ikeVEW9yuYc//A+q" X-Trace: ger.gmane.org 1221832943 2644 80.91.229.12 (19 Sep 2008 14:02:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 19 Sep 2008 14:02:23 +0000 (UTC) Cc: Guile User Mailing List To: Maurizio Boriani Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri Sep 19 16:03:15 2008 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1KggZW-0001gG-RW for guile-user@m.gmane.org; Fri, 19 Sep 2008 16:02:59 +0200 Original-Received: from localhost ([127.0.0.1]:42425 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KggYV-0004gj-5N for guile-user@m.gmane.org; Fri, 19 Sep 2008 10:01:55 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KggX5-0004Dq-Lc for guile-user@gnu.org; Fri, 19 Sep 2008 10:00:27 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KggX3-0004Co-Ew for guile-user@gnu.org; Fri, 19 Sep 2008 10:00:27 -0400 Original-Received: from [199.232.76.173] (port=59879 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KggX3-0004Ck-4f for guile-user@gnu.org; Fri, 19 Sep 2008 10:00:25 -0400 Original-Received: from rv-out-0708.google.com ([209.85.198.242]:36377) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KggX2-0001fd-8G for guile-user@gnu.org; Fri, 19 Sep 2008 10:00:25 -0400 Original-Received: by rv-out-0708.google.com with SMTP id k29so494746rvb.6 for ; Fri, 19 Sep 2008 07:00:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:to:cc:subject:message-id :references:mime-version:content-type:content-disposition :in-reply-to:user-agent:from; bh=a+SXFnA+l9oFcdt9fnzxua/pfR8z613ZaWTW1Had6AY=; b=k4Y9yFqZBVjEku3a5Je+5thRW4lRaECtAnA9EltRamEjsVERizPK0hB+4hG1vdjumx eapu65SqT4NAmScOHNXR0BSGlA0pkhdMgsC1ZzENUeSq3vwc2EwhHWNOnrP+1etVpbgL huJrCDmT8GUn4pGDT5L5srtqoOce/zWZERlDo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:to:cc:subject:message-id:references:mime-version:content-type :content-disposition:in-reply-to:user-agent:from; b=HgsEXyN4f/3GVcuhoUm1hXJ3D/qlUXDWy/FzWllPlA+EX30SRhRkIqftOvOfy53KlX p0skGL4XKi2qhY5nOprnthXEUMXj+6AW6xHLDJ7sWr635GPT+F/sM3G1n+h3SRPewnLF KIq1meHb/WBhE3fG1r/IBKr7N1Xd6Lnd4fwJY= Original-Received: by 10.140.136.5 with SMTP id j5mr67457rvd.27.1221832823099; Fri, 19 Sep 2008 07:00:23 -0700 (PDT) Original-Received: from linas.org ( [67.100.217.179]) by mx.google.com with ESMTPS id 34sm1191022yxl.8.2008.09.19.07.00.22 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 19 Sep 2008 07:00:22 -0700 (PDT) Content-Disposition: inline In-Reply-To: <3ae3aa420809190645o2fe2b746id80f53c5cb123e5b@mail.gmail.com> User-Agent: Mutt/1.5.15+20070412 (2007-04-11) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6784 Archived-At: --ikeVEW9yuYc//A+q Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable If (use-modules (dbi dbi)) is called multiple times, then guile will crash in various strange ways, often during garbage-collection. Thus, avoid initializaing more than once. =46rom: Linas Vepstas --- src/guile-dbi.c | 3 +++ 1 file changed, 3 insertions(+) Index: guile-dbi-2.0.0/src/guile-dbi.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- guile-dbi-2.0.0.orig/src/guile-dbi.c 2008-09-15 13:03:05.000000000 -0500 +++ guile-dbi-2.0.0/src/guile-dbi.c 2008-09-15 13:19:36.000000000 -0500 @@ -295,6 +295,9 @@ init_db_handle_type(void) void=20 init_dbi(void) { + static int is_inited =3D 0; + if (is_inited) return; + is_inited =3D 1; init_db_handle_type(); =20 #ifndef SCM_MAGIC_SNARFER --ikeVEW9yuYc//A+q Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQEVAwUBSNOwb4SDRXfAOJJBAQLp1Qf/etcgQ6n+UjTUjQC2JULWKNSKhoQ5iKzz DCb1SH1nziznQbe0NJjJA57j4rTAWRm12IHChUJuZ0r6BmuIjraslmL8SJRkhc1r RiNcKoGyCMMKID6y1w5ATwbjsGnJugFrm/QWf0i7vpEMyqfZtFrHPl7FAFqU0bht lhcDbgEC09dY5MEh75tvvUrB8pqJ+0gVWVNBz10v34jn6YuIfjczh1+Ot0Pp4D+8 2uOQ1X1UHhj1C0ZvoLos5/7RA+7Rp1Mi2hQSYBuU3ySwTk5pFBzdw1TCjJrQfMMN QH78R+d3G1LVqeht2vMiI7s6MaYlhOEsevbQww9lQASAiON0EW+98Q== =t/ug -----END PGP SIGNATURE----- --ikeVEW9yuYc//A+q--