mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
(scm_with_blocked_asyncs, scm_with_unblocked_asyncs): New.
This commit is contained in:
parent
e049920715
commit
b57a0953fe
2 changed files with 22 additions and 2 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2004 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
|
||||
|
@ -364,6 +364,24 @@ scm_c_call_with_unblocked_asyncs (void *(*proc) (void *data), void *data)
|
|||
data, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
scm_with_blocked_asyncs ()
|
||||
{
|
||||
scm_on_rewind (increase_block, NULL, SCM_F_WIND_EXPLICITELY);
|
||||
scm_on_unwind (decrease_block, NULL, SCM_F_WIND_EXPLICITELY);
|
||||
}
|
||||
|
||||
void
|
||||
scm_with_unblocked_asyncs ()
|
||||
{
|
||||
if (scm_root->block_asyncs == 0)
|
||||
scm_misc_error ("scm_with_unblocked_asyncs",
|
||||
"asyncs already unblocked", SCM_EOL);
|
||||
scm_on_rewind (decrease_block, NULL, SCM_F_WIND_EXPLICITELY);
|
||||
scm_on_unwind (increase_block, NULL, SCM_F_WIND_EXPLICITELY);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#ifndef SCM_ASYNC_H
|
||||
#define SCM_ASYNC_H
|
||||
|
||||
/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995,1996,1997,1998,2000,2001, 2002, 2004 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
|
||||
|
@ -44,6 +44,8 @@ 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_with_blocked_asyncs (void);
|
||||
void scm_with_unblocked_asyncs (void);
|
||||
SCM_API void scm_init_async (void);
|
||||
|
||||
#if (SCM_ENABLE_DEPRECATED == 1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue