diff options
Diffstat (limited to 'libguile/async.c')
-rw-r--r-- | libguile/async.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/libguile/async.c b/libguile/async.c index 3e5a581c6..664264f3c 100644 --- a/libguile/async.c +++ b/libguile/async.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2004, 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2004, 2006, 2008, 2009 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -22,6 +22,8 @@ # include <config.h> #endif +#define SCM_BUILDING_DEPRECATED_CODE + #include <signal.h> #include "libguile/_scm.h" #include "libguile/eval.h" @@ -470,6 +472,29 @@ scm_dynwind_unblock_asyncs () scm_dynwind_unwind_handler (increase_block, t, SCM_F_WIND_EXPLICITLY); } + +/* These are function variants of the same-named macros (uppercase) for use + outside of libguile. This is so that `SCM_I_CURRENT_THREAD', which may + reside in TLS, is not accessed from outside of libguile. It thus allows + libguile to be built with the "local-dynamic" TLS model. */ + +void +scm_critical_section_start (void) +{ + SCM_CRITICAL_SECTION_START; +} + +void +scm_critical_section_end (void) +{ + SCM_CRITICAL_SECTION_END; +} + +void +scm_async_tick (void) +{ + SCM_ASYNC_TICK; +} |