unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* async blocking function linking
@ 2014-05-04 10:34 Chris Vine
  2014-06-02  0:54 ` Mark H Weaver
  0 siblings, 1 reply; 2+ messages in thread
From: Chris Vine @ 2014-05-04 10:34 UTC (permalink / raw)
  To: guile-devel

Hi,

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 marked as
exported, even though these functions are documented and presumably
intended to be called by user code.

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

Chris

--- 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 */
 



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: async blocking function linking
  2014-05-04 10:34 async blocking function linking Chris Vine
@ 2014-06-02  0:54 ` Mark H Weaver
  0 siblings, 0 replies; 2+ messages in thread
From: Mark H Weaver @ 2014-06-02  0:54 UTC (permalink / raw)
  To: Chris Vine; +Cc: guile-devel

Chris Vine <chris@cvine.freeserve.co.uk> 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 marked as
> exported, even though these functions are documented and presumably
> intended to be called by user code.
>
> A trivial patch, against guile-2.0.11, is attached dealing with this.

Pushed to stable-2.0, commit 12c6a47773041ff5d0a3553421d2f358d9e479a9.

    Thanks!
      Mark



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-06-02  0:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-04 10:34 async blocking function linking Chris Vine
2014-06-02  0:54 ` Mark H Weaver

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).