Subject: bug#17661: closed (Re: bug#17661: Some guile-2.0 asyncs functions do not link correctly)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 02 Jun 2014 00:56:03 +0000

Your bug report

#17661: Some guile-2.0 asyncs functions do not link correctly

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
17661: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17661
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#17661: Some guile-2.0 asyncs functions do not link correctly
From: Mark H Weaver <[email-masked]>
To: Chris Vine <[email-masked]>
Cc: [email-masked]
Date: Sun, 01 Jun 2014 20:55:23 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Chris Vine <[email-masked]> writes:

> guile-2.0's scm_c_call_with_blocked_asyncs,
> scm_c_call_with_unblocked_asyncs, scm_dynwind_block_asyncs and
> scm_dynwind_unblock_asyncs will not link for me using 32-bit
> ubuntu-14.04 (gcc-4.8.2/guile-2.0.9) or 32-bit slackware-14.1
> (gcc-4.9.0/guile-2.0.11).  I do not have a machine to test a 64-bit
> system at present.
>
> The issue appears to be that this part of the API is not exported, even
> though these functions are documented and appear intended to be called
> by user code.
>
> A patch, against guile-2.0.11, is below, dealing with this.

Pushed to stable-2.0, commit 12c6a47773041ff5d0a3553421d2f358d9e479a9.

    Thanks!
      Mark

Subject: Some guile-2.0 asyncs functions do not link correctly
From: Chris Vine <[email-masked]>
To: [email-masked]
Date: Sun, 1 Jun 2014 17:54:48 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

guile-2.0's scm_c_call_with_blocked_asyncs,
scm_c_call_with_unblocked_asyncs, scm_dynwind_block_asyncs and
scm_dynwind_unblock_asyncs will not link for me using 32-bit
ubuntu-14.04 (gcc-4.8.2/guile-2.0.9) or 32-bit slackware-14.1
(gcc-4.9.0/guile-2.0.11).  I do not have a machine to test a 64-bit
system at present.

The issue appears to be that this part of the API is not exported, even
though these functions are documented and appear intended to be called
by user code.

A patch, against guile-2.0.11, is below, dealing with this.

--- guile-2.0.11/libguile/async.h.orig	2014-05-04 10:38:14.631777784 +0100
+++ guile-2.0.11/libguile/async.h	2014-05-04 10:45:45.615763664 +0100
@@ -44,10 +44,10 @@
 SCM_API SCM scm_noop (SCM args);
 SCM_API SCM scm_call_with_blocked_asyncs (SCM proc);
 SCM_API SCM scm_call_with_unblocked_asyncs (SCM proc);
-void *scm_c_call_with_blocked_asyncs (void *(*p) (void *d), void *d);
-void *scm_c_call_with_unblocked_asyncs (void *(*p) (void *d), void *d);
-void scm_dynwind_block_asyncs (void);
-void scm_dynwind_unblock_asyncs (void);
+SCM_API void *scm_c_call_with_blocked_asyncs (void *(*p) (void *d), void *d);
+SCM_API void *scm_c_call_with_unblocked_asyncs (void *(*p) (void *d), void *d);
+SCM_API void scm_dynwind_block_asyncs (void);
+SCM_API void scm_dynwind_unblock_asyncs (void);
 
 /* Critical sections */