mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Inline interrupts
* libguile/async.c: * libguile/async.h (scm_i_async_push, scm_i_async_pop): Make internally available. * libguile/vm-engine.c (vm_engine): Invoke interrupts inline. Add return-from-interrupt instruction. * libguile/vm.c (vm_handle_interrupt_code): New "builtin".
This commit is contained in:
parent
4ae4988931
commit
08584310ee
4 changed files with 60 additions and 16 deletions
|
@ -46,6 +46,9 @@ 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);
|
||||
|
||||
SCM_INTERNAL void scm_i_async_push (scm_i_thread *t, SCM proc);
|
||||
SCM_INTERNAL SCM scm_i_async_pop (scm_i_thread *t);
|
||||
|
||||
SCM_INTERNAL void scm_init_async (void);
|
||||
|
||||
#endif /* SCM_ASYNC_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue