1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-14 17:50:22 +02:00
Commit graph

10141 commits

Author SHA1 Message Date
Marius Vollmer
b2a339f6e5 Updated comments for current threading implementation. 2005-03-09 19:14:36 +00:00
Marius Vollmer
0c97d7dd66 (scm_i_frame_single_threaded): Removed.
(scm_i_thread): Removed unused signal_asyncs field.
(threads_mark): Do not mark it.
(guilify_self_1): Do not initialize it.  Do initialize
continuation_root field.
(do_thread_exit): Do not remove thread from all_threads list.
(on_thread_exit): Do it here, after leaving guile mode.
(sleep_level): Removed.
(scm_i_thread_put_to_sleep): Leave thread_admin_mutex locked when
returning.  Do not support recursive sleeps.
(scm_i_thread_wake_up): Expect thread_admin_mutex to be locked on
entry.  Do not support recursive sleeps.
2005-03-09 19:13:59 +00:00
Marius Vollmer
461f34aa1b *** empty log message *** 2005-03-08 00:58:55 +00:00
Marius Vollmer
a98dbc879e * configure.in: Do not call AC_LIBLTDL_INSTALLABLE. Use
AC_CHECK_LIB instead. Do not subst LTDLINCL and LIBLTDL.  Do not
add "-DLIBLTDL_DLL_IMPORT" on MINGW32.

* Makefile.am (SUBDIRS): Removed libltdl.

* README: Talk about required external packages.

* autogen.sh: Do not call libtoolize.
2005-03-08 00:54:46 +00:00
Marius Vollmer
5a3ce59e21 (INCLUDES): Removed @LTDLINCL@.
(libguile_la_LIBADD): Removed @LIBLTDL@.
2005-03-08 00:53:21 +00:00
Kevin Ryde
d1ad188c38 *** empty log message *** 2005-03-07 22:52:58 +00:00
Kevin Ryde
84269297c3 (*features*): Remove 'random, need to use the slib code for
that module since guile doesn't provide `random:chunk'.
2005-03-07 22:52:01 +00:00
Marius Vollmer
b9d9ad3a2a *** empty log message *** 2005-03-07 22:33:46 +00:00
Marius Vollmer
627c72a944 Include "libguile/async.h" for SCM_CRITICAL_SECTION_START/END. 2005-03-07 22:32:22 +00:00
Marius Vollmer
2567692aeb Moved up section on mutexes and condition variables. Added critical
"Critical Sections" section.
2005-03-07 21:49:43 +00:00
Marius Vollmer
32106a5ded Talk about critical sections. 2005-03-07 21:48:18 +00:00
Marius Vollmer
4e047c3e46 Include "libguile/async.h" for SCM_CRITICAL_SECTION_START/END. 2005-03-07 21:42:02 +00:00
Marius Vollmer
54f2445baa * throw.c (scm_ithrow): Abort when scm_i_critical_section_level is
not zero.
2005-03-07 21:40:19 +00:00
Marius Vollmer
8b7f0bb35b * continuations.c (scm_make_continuation): No longer a critical
section.
(scm_dynthrow):  Abort when scm_i_critical_section_level is
not zero.
2005-03-07 21:39:56 +00:00
Marius Vollmer
5e3545d00e (scm_debug_options): Replace SCM_CRITICAL_SECTION_START/END with a
frame and scm_frame_critical_section.
2005-03-07 21:33:18 +00:00
Marius Vollmer
aeba601d56 (scm_make_continuation): No longer a critical section. 2005-03-07 21:32:00 +00:00
Marius Vollmer
a4d106c70e * threads.h, async.h, threads.c (SCM_CRITICAL_SECTION_START,
SCM_CRITICAL_SECTION_END): Moved here from threads.h since now
they also block/unblock execution of asyncs and call
scm_async_click which is declared in async.h but threads.h can not
include async.h since async.h already includes threads.h.
(scm_i_critical_section_level): New, for checking mistakes in the
use of the SCM_CRITICAL_SECTION_* macros.
(scm_i_critical_section_mutex): Make it a recursive mutex so that
critical sections can be nested.

* threads.h, threads.c (scm_frame_lock_mutex): New.
(scm_frame_critical_section): Take mutex as argument.
(framed_critical_section_mutex): New, used as default for above.
(scm_init_threads): Initialize it.
(scm_threads_prehistory): Do not initialize thread_admin_mutex and
scm_i_critical_section_mutex; both are initialized statically.
2005-03-07 21:30:24 +00:00
Marius Vollmer
673ba2da04 Synchronized docstrings. 2005-03-04 17:56:31 +00:00
Marius Vollmer
db6673e5a3 *** empty log message *** 2005-03-04 17:56:04 +00:00
Marius Vollmer
69d2000d93 Docstring updates. 2005-03-04 17:55:49 +00:00
Marius Vollmer
ba1b72235a (scm_try_mutex): Renamed argument for consistency. 2005-03-04 17:54:50 +00:00
Marius Vollmer
d0a45bfffd *** empty log message *** 2005-03-04 17:06:34 +00:00
Marius Vollmer
9eaf7f85dd (scm_call_with_dynamic_root): New docstring. 2005-03-04 17:06:19 +00:00
Marius Vollmer
a558cc63a8 Updates. 2005-03-04 16:57:17 +00:00
Marius Vollmer
beac603912 Talk about new init functions. 2005-03-04 16:05:01 +00:00
Marius Vollmer
384138c496 Use smobs as an example for 'remembering'. Mention continuation barriers. 2005-03-04 16:04:22 +00:00
Marius Vollmer
a0f78c5085 Reference "Blocking" for scm_leave_guile/scm_enter_guile. 2005-03-04 15:48:18 +00:00
Marius Vollmer
9ba2fab389 Better docs for leaving guile mode. 2005-03-04 15:47:48 +00:00
Marius Vollmer
e03bb21b83 Use ``...'' instead of "...". The latter doesn't seem to work for
some reason.
2005-03-04 14:22:41 +00:00
Marius Vollmer
ca6a8a38a4 Specify return type for scm_c_array_rank. 2005-03-04 14:21:01 +00:00
Marius Vollmer
de527efba5 Define _GNU_SOURCE. 2005-03-04 12:11:10 +00:00
Marius Vollmer
a81b861870 *** empty log message *** 2005-03-02 20:56:45 +00:00
Marius Vollmer
0ddf47fcaa Use scm_current_input_port instead of scm_cur_inp. Use scm_std_select
instead of scm_internal_select.
2005-03-02 20:56:34 +00:00
Marius Vollmer
d8d925f310 Only test when 'threads are provided. 2005-03-02 20:55:17 +00:00
Marius Vollmer
1f834c95da Additions. 2005-03-02 20:54:40 +00:00
Marius Vollmer
49aaa6d2a3 Do not check for fast or recursive mutexes. Check
for pthread_attr_getstack.
(SCM_I_GSC_USE_COOP_THREADS): Dot not subst.
(pthread_mutexattr_settype): Do not check for it.
2005-03-02 20:53:19 +00:00
Marius Vollmer
896df2d58b Use scm_is_pair instead of SCM_CONSP; use scm_is_null instead of
SCM_NULLP.
2005-03-02 20:50:48 +00:00
Marius Vollmer
b4fddbbeda Updates for the new thread stuff. 2005-03-02 20:46:41 +00:00
Marius Vollmer
9de87eea47 See ChangeLog from 2005-03-02. 2005-03-02 20:42:01 +00:00
Marius Vollmer
cb1cfc42a4 (scm_frame_current_module): New. 2005-03-02 20:14:59 +00:00
Marius Vollmer
b5623573b4 (scm_primitive_load): Use scm_i_frame_current_load_port instead of
scm_internal_dynamic_wind.
2005-03-02 20:13:53 +00:00
Marius Vollmer
bf6de59d5b Removed obsolete comment. 2005-03-02 20:11:55 +00:00
Marius Vollmer
a41666e546 (scm_hash_fn_create_handle_x, scm_hash_fn_remove_x): Use "!scm_is_eq"
instead of "!=".
2005-03-02 20:05:38 +00:00
Marius Vollmer
657bdfeae3 (SCM_I_GSC_USE_COOP_THREADS, SCM_USE_COOP_THREADS): Removed. 2005-03-02 19:58:26 +00:00
Marius Vollmer
731294434a (progargs_fluid): New.
(scm_program_arguments, scm_set_program_arguments): Use it instead
of scm_progargs.
(scm_init_feature): Allocate it.  Also, only add "threads" feature
when SCM_USE_PTHREAD_THREADS is true.
2005-03-02 19:40:20 +00:00
Marius Vollmer
5c6148424b Comment on #endif 2005-03-02 18:50:45 +00:00
Marius Vollmer
9b7952c06e * Makefile.am (modinclude_HEADER): Removed threads-plugin.h.
(libguile_la_SOURCES): Added null-threads.c
(EXTRA_libguile_la_SOURCES): Removed pthread-threads.c and
threads-plugin.c.
* pthread-threads.c, threads-plugin.c, threads-plugin.h: Removed.
2005-03-02 16:41:01 +00:00
Kevin Ryde
dfd49d754a *** empty log message *** 2005-02-28 23:01:48 +00:00
Kevin Ryde
d8c3fde933 More of:
(Shared Arrays): New section.
2005-02-28 22:58:03 +00:00
Kevin Ryde
b4b78f5d7d (Shared Arrays): Rewrite make-shared-array for clarity, adding examples. 2005-02-28 22:57:10 +00:00