1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-05 15:10:27 +02:00
Commit graph

4519 commits

Author SHA1 Message Date
Marius Vollmer
028e573c8a (scm_system_async_mark_for_thread): Validate thread argument. 2002-10-16 16:27:46 +00:00
Marius Vollmer
7751157e03 It's scm_t_cond, not scm_t_condvar. 2002-10-16 16:25:45 +00:00
Marius Vollmer
8ef70d1e3c (scm_t_cond): Renamed from scm_t_condvar, which was the wrong name. 2002-10-16 16:10:40 +00:00
Marius Vollmer
5ae37f7114 (scm_i_thread_root): Do not validate argument. 2002-10-16 16:09:22 +00:00
Marius Vollmer
e37d58d53b (scm_init_feature): Don't add 'threads' for USE_NULL_THREADS. 2002-10-16 16:08:03 +00:00
Marius Vollmer
389626c5ec (scm_cell, scm_double_cell): Also allow USE_NULL_THREADS to not
protect the slot initializers.
2002-10-16 16:03:44 +00:00
Marius Vollmer
f6ecc207bf (scm_sigaction_for_thread): It's "USE_THREADS" not "USE_THREAD". 2002-10-16 16:01:22 +00:00
Marius Vollmer
f9b52b7aa5 (noinst_HEADERS): Added null-threads.c.
(modinclude_HEADERS): Added null-threads.h.
2002-10-16 15:59:37 +00:00
Marius Vollmer
212d33ec60 * threads.h: Include null-threads.h when !USE_COOP_THREADS.
* threads.c: Include null-threads.c when !USE_COOP_THREADS.
(scm_init_threads): Use generic type names scm_t_mutex and
scm_t_coop instead of coop_m and coop_t.
2002-10-16 15:57:13 +00:00
Marius Vollmer
3d527b2755 New files. 2002-10-16 15:54:23 +00:00
Marius Vollmer
f774203437 ... but not for guile-procedures.texi since that is created in the build dir. 2002-10-15 12:06:14 +00:00
Marius Vollmer
47ac1e47b9 Update to last change: include $(srcdir)/ in replaced $< constructs. 2002-10-15 10:36:42 +00:00
Marius Vollmer
ff810d7abe *** empty log message *** 2002-10-14 22:55:24 +00:00
Marius Vollmer
53864e11e3 Replaced "$<" in non-pattern rules with its value. This is to support
makes that know about "$<" only in pattern rules, like Sun's make.
2002-10-14 22:54:50 +00:00
Marius Vollmer
a90bdb7346 *** empty log message *** 2002-10-13 18:25:29 +00:00
Marius Vollmer
c565712cd0 (libpath.h): Fixed typo in top_srcdir_absolute substitution. Thanks
to David Allouche!
2002-10-13 18:24:59 +00:00
Dirk Herrmann
e71a8bf2ef * evalext.h: Replaced SCM_DEBUG_DEPRECATED with !SCM_ENABLE_DEPRECATED. 2002-10-13 11:02:58 +00:00
Marius Vollmer
41f77ff505 *** empty log message *** 2002-10-11 13:07:43 +00:00
Marius Vollmer
4feac0b904 * async.c (s_scm_system_async_mark_for_thread): Only call
scm_i_thread_root when USE_THREADS is defined.  Use scm_root
otherwise.

* scmsigs.c (take_signal): Only call scm_i_thread_root when
USE_THREADS is defined.  Use scm_root otherwise.
(scm_sigaction_for_thread): Ignore THREAD argument when
USE_THREADS is not defined.  Also, move THREAD argument defaulting
out of HAVE_SIGACTION section, which was a bug.
2002-10-11 13:02:50 +00:00
Marius Vollmer
6d16b1257f *** empty log message *** 2002-10-10 18:11:20 +00:00
Marius Vollmer
e581432ec3 (scm_sigaction_for_thread): Store original handler in signal_handlers,
not the closure that is used as the async.  The closure is stored in
signal_handler_cells, as previously.
2002-10-10 18:11:06 +00:00
Marius Vollmer
acfa1f528e *** empty log message *** 2002-10-09 22:49:00 +00:00
Marius Vollmer
be2588b87d (SCM_ASYNC_TICK): Do without the scm_active_asyncs abbrev. 2002-10-09 22:45:07 +00:00
Marius Vollmer
e292f7aac8 * async.h (scm_call_with_blocked_asyncs,
scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
scm_c_call_with_unblocked_asyncs): New prototypes.
(scm_mask_signals, scm_unmask_signals): Deprecated.
(scm_mask_ints): Turned into a macro.

* async.c (scm_mask_ints): Removed.
(scm_run_asyncs): Do not set scm_mask_ints while running an async.
this should not be necessary.
(scm_async_click): Test block_asyncs instead of scm_mask_ints.
(scm_mask_signals, scm_unmask_signals): Deprecated.  Emit
deprecation warning and check for errornous use.  Set block_asyncs
instead of scm_mask_ints.
(increase_block, decrease_block, scm_call_with_blocked_asyncs,
scm_call_with_unblocked_asyncs, scm_c_call_with_blocked_asyncs,
scm_c_call_with_unblocked_asyncs): New.
2002-10-09 22:44:02 +00:00
Marius Vollmer
8ee25fb9f8 * root.h (scm_root_state): Added 'block_async' slot.
(scm_active_asyncs): Removed abbrev.
* root.c (scm_make_root): Initialize 'block_asyncs' slot.
2002-10-09 22:37:29 +00:00
Marius Vollmer
de46f022e4 (scm_compile_shell_switches): Do not set scm_mask_ints. Asyncs are
enabled by default.
2002-10-09 22:26:37 +00:00
Rob Browning
c9cfbf5beb * guile.c (main): change to call scm_lt_dlpreload_default and pass
in lt_preloaded_symbols, a value libtool automagically adds to the
binary.
2002-10-09 21:15:59 +00:00
Neil Jerram
9768e0a96e Use scm_num2int rather than SCM_INUM in soft port extension. 2002-10-09 19:34:55 +00:00
Neil Jerram
34010f5694 Extend soft ports to use input-waiting thunks. 2002-10-09 19:07:23 +00:00
Marius Vollmer
9310d6f29e *** empty log message *** 2002-10-05 13:07:28 +00:00
Marius Vollmer
a7d3641dc2 (root_mark): Mark active_asyncs slot. 2002-10-05 13:07:06 +00:00
Marius Vollmer
f6b44bd99f * async.c (scm_async_click): Set the cdr of a executed handler
cell to SCM_BOOL_F, not SCM_EOL.
(scm_i_queue_async_cell): Queue the cell at the end of the list,
and only if the handler procedure is not already present.
(scm_system_async_mark_for_thread): Initialize cdr of handler cell
with SCM_BOOL_F.
* scmsigs.c (scm_sigaction_for_thread): Likewise.
2002-10-05 13:06:58 +00:00
Rob Browning
1360a142de *** empty log message *** 2002-10-05 04:55:43 +00:00
Rob Browning
823b49519f * guile.c (main): switch to scm_lt_dlset_preloaded_symbols; 2002-10-05 04:55:28 +00:00
Rob Browning
66d4f5ccaa * dynl.c (sysdep_dynl_link): switch to scm_lt_dlhandle,
scm_lt_dlopenext, and scm_lt_dlerror.
(sysdep_dynl_unlink): switch to scm_lt_dlhandle, scm_lt_dlclose,
and scm_lt_dlerror.
(sysdep_dynl_func): switch to scm_lt_dlhandle, scm_lt_dlsym,
and scm_lt_dlerror.
(sysdep_dynl_init): switch to scm_lt_dlinit();
2002-10-05 04:55:22 +00:00
Rob Browning
45cf70fa41 * Makefile.am (libguile_la_LIBADD): switch to use
libguile-ltdl.la.
2002-10-05 04:55:16 +00:00
Rob Browning
ac48c7193e *** empty log message *** 2002-10-05 04:33:35 +00:00
Rob Browning
20bf9a3cfe * numbers.c (s_scm_integer_expt): (expt 0 1) should be 1. 2002-10-05 04:27:35 +00:00
Marius Vollmer
497092c9d1 *** empty log message *** 2002-10-04 14:13:51 +00:00
Marius Vollmer
2fbc8609b2 * scmsigs.h (scm_sigaction_for_thread): New prototype.
* scmsigs.c (got_signal): Removed.
(signal_handler_cells, signal_handler_threads): New.
(take_signal): Queue the cell of the signal for the specified
thread.  Reset the signal handler on systems that don't have
sigaction.
(sys_deliver_signals): Removed.
(close_1): New.
(scm_sigaction_for_thread): Renamed from scm_sigaction and
extended to also set the thread of a signal and allocate a cell
for it.  Keep the Scheme name "sigaction".  Check that signum is
within range.  Also, use SCM_VECTOR_REF instead of SCM_VELTS.
(scm_sigaction): Implement in terms of scm_sigaction_for_thread.
(scm_init_scmsigs): Allocate signal_handler_cells and
signal_handler_threads vectors.
2002-10-04 14:13:26 +00:00
Marius Vollmer
e3c9bec302 * __scm.h (scm_asyncs_pending_p): Removed.
(SCM_ASYNC_CLICK): Check scm_active_asyncs instead of
scm_asyncs_pending_p.
2002-10-04 13:49:29 +00:00
Marius Vollmer
2d3179db77 Removed GUILE_OLD_ASYNC_CLICK code. Reorganized so that system asnycs
and user asyncs are separated.  Reimplemented system asyncs to work
per-thread.
2002-10-04 13:49:13 +00:00
Marius Vollmer
5b900ecff2 * async.h (scm_asyncs_pending, scm_set_tick_rate,
scm_set_switch_rate, scm_system_async_mark_from_signal_handler):
Removed prototypes.
(scm_i_queue_async_cell): New.
2002-10-04 13:47:35 +00:00
Marius Vollmer
2592c4c765 (scm_init_gc): Do not use scm_system_async. 2002-10-04 13:42:43 +00:00
Marius Vollmer
61c95a4992 (scm_system_async_mark_for_thread): New prototype. 2002-10-03 23:00:58 +00:00
Marius Vollmer
a6b54e30d3 Removed GUILE_OLD_ASYNC_CLICK code. 2002-10-03 22:59:08 +00:00
Marius Vollmer
d4719ab892 * root.h (scm_root_state): Added new "active_asyncs" slot.
* root.c (scm_make_root): Initialize it to SCM_EOL.
2002-10-03 22:56:52 +00:00
Marius Vollmer
3b1df92480 (scm_root_state): Added new "active_asyncs" slot. 2002-10-03 22:54:25 +00:00
Marius Vollmer
9997213b7d * coop-defs.h (coop_t): Added new "handle" slot.
* coop-threads.c (all_threads, scm_current_thread,
scm_all_threads, scm_i_thread_root): New.
(scm_threads_init): Add main thread to all_threads.
(scheme_launch_thread): Remove thread from all_threads when it
terminates.
(scm_call_with_new_thread): Initialize handle slot of coop_t
structure and add new thread to all_threads.
(scm_spawn_thread): Likewise.
2002-10-03 22:53:17 +00:00
Marius Vollmer
f7eca35dfe * threads.h (scm_current_thread, scm_all_threads): New prototypes.
* threads.c (scm_current_thread, scm_all_threads): Register as
primitives.
2002-10-03 22:48:15 +00:00