1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 05:20:16 +02:00
Commit graph

9601 commits

Author SHA1 Message Date
Marius Vollmer
1a8fdd7e12 (scm_i_thread): Added gc_running_p field.
(guilify_self_1): Initialize it.
2005-03-10 18:06:54 +00:00
Marius Vollmer
fc240b46e9 (scm_c_issue_deprecation_warning): Use malloc instead of scm_malloc.
The latter can not be used during GC.
2005-03-10 18:05:25 +00:00
Marius Vollmer
68ec32312f For 1.7.2. 2005-03-09 22:15:57 +00:00
Marius Vollmer
d1c38e114e *** empty log message *** 2005-03-09 22:15:32 +00:00
Marius Vollmer
2c47876347 (GUILE_MICRO_VERSION): Incremented to "2". 2005-03-09 22:14:46 +00:00
Marius Vollmer
d152d44ba8 (scm_compile_shell_switches): Added 2005 to Copyright years. 2005-03-09 22:11:56 +00:00
Marius Vollmer
a6d75e533e Couple cleanups. 2005-03-09 22:09:11 +00:00
Marius Vollmer
99ec43c198 *** empty log message *** 2005-03-09 19:23:55 +00:00
Marius Vollmer
b5fa979ca6 (ensure_state_size, ensure_all_state_sizes, resize_all_states):
Collapsed ensure_state_size and ensure_all_state_sizes into one
function named resize_all_states.  Allocate new vectors outside of
single threaded region.  Do only simple things inside that region.
(scm_make_fluid, scm_make_dynamic_state): Lock fluid_admin_mutex while
adding to the global lists.
2005-03-09 19:20:49 +00:00
Marius Vollmer
443840184b (scm_i_sweep_card): Do not increase/decrease scm_gc_running_p.
Sweeping can happen in parallel with allocation.
2005-03-09 19:17:19 +00:00
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