Marius Vollmer
4b9154e73e
* null-threads.h (scm_null_mutex, scm_null_mutex_init,
...
scm_null_mutex_lock, scm_null_mutex_unlock,
scm_null_mutex_destroy, scm_null_condvar, scm_null_condvar_init,
scm_null_condvar_wait, scm_null_condvar_signal,
scm_null_condvar_destroy): Removed.
(scm_mutex_init, scm_mutex_lock, scm_mutex_unlock, scm_cond_init,
scm_cond_wait, scm_cond_signal, scm_cond_broadcast,
scm_cond_destory): Do not define, they are now deprecated and
handled by threads.{h,c}.
* null-threads.c (scm_null_mutex, scm_null_cond): Define here.
(scm_threads_init): Create smobs here, using the appropriate
sizes.
(block): Removed, now unused.
(scm_c_thread_exited_p): New.
(scm_null_mutex_init, scm_null_mutex_lock, scm_null_mutex_unlock,
scm_null_mutex_destroy, scm_null_condvar_init,
scm_null_condvar_wait, scm_null_condvar_signal,
scm_null_condvar_destroy): Removed and updated users to do their
task directly.
(scm_try_mutex, timeval_subtract,
scm_timed_wait_condition_variable,
scm_broadcast_condition_variable): New.
(scm_wait_condition_variable): Removed.
2002-10-27 20:12:27 +00:00
Marius Vollmer
79cd5b8eda
* coop-defs.h (coop_m): Added 'level' field.
...
(scm_t_mutex, scm_mutex_init, scm_mutex_lock, scm_mutex_trylock,
scm_mutex_unlock, scm_mutex_destroy, scm_t_cond, scm_cond_init,
scm_cond_wait, scm_cond_timedwait, scm_cond_signal,
scm_cond_broadcast, scm_cond_destroy, struct timespec): Do not
define.
(coop_condition_variable_broadcast): New.
* coop-threads.c (scm_threads_init): Create smobs here, using the
appropriate sizes.
(scm_c_thread_exited_p, scm_try_mutex,
scm_timed_wait_condition_variable,
scm_broadcast_condition_variable): New.
(scm_wait_condition_variable): Removed.
* coop.c (coop_new_mutex_init): Initialize level.
(coop_mutex_trylock, coop_mutex_lock, coop_mutex_unlock): maintain
level.
(coop_condition_variable_signal): Renamed to
coop_condition_variable_broadcast and reimplemented in terms of
that. Thus...
(coop_condition_variable_broadcast): New.
2002-10-27 20:12:07 +00:00
Marius Vollmer
65a23095ab
*** empty log message ***
2002-10-21 12:19:08 +00:00
Marius Vollmer
64e00566db
Include <time.h>. Also, use <...> for inclusion of system headers.
2002-10-21 12:03:54 +00:00
Marius Vollmer
087ed40df2
*** empty log message ***
2002-10-20 22:59:32 +00:00
Marius Vollmer
6182ceacb4
(SCM_MAKE_VALIDATE_MSG): New. Use it instead of SCM_MAKE_VALIDATE in
...
lots of places to gove better error messages. Thanks to Bill
Schottstaedt!
2002-10-20 22:59:01 +00:00
Neil Jerram
0a50eeaadb
Auto docstring updates, including soft port enhancement.
2002-10-19 16:33:25 +00:00
Dirk Herrmann
5ec1d2c8e0
* evalext.h, evalext.c (scm_definedp, scm_defined_p): Renamed
...
scm_definedp to scm_defined_p and deprecated scm_definedp.
2002-10-19 09:07:23 +00:00
Dirk Herrmann
100ae50db2
* async.h, async.c (scm_system_async): Fixed deprecation to work
...
correctly when deprecated features are excluded.
2002-10-19 08:22:50 +00:00
Marius Vollmer
2794cb5073
*** empty log message ***
2002-10-16 16:33:12 +00:00
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