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

3683 commits

Author SHA1 Message Date
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
Marius Vollmer
8e583c6e1b Use scm_lt_ prefix for libltdl functions. 2002-10-03 22:44:48 +00:00
Neil Jerram
480fa28d20 Refer to provided? rather than the deprecated feature?. 2002-10-03 22:23:43 +00:00
Gary Houston
3553e1d1f0 * inline.h (scm_double_cell): prevent reordering of statements
with any following code (for GCC 3 strict-aliasing).
	* numbers.c (scm_make_real), num2float.i.c (FLOAT2NUM): removed
	the earlier version of the reordering prevention.
2002-09-24 22:21:01 +00:00
Han-Wen Nienhuys
4ad0814a57 (scm_double_cell): move SET_GCMARK set out of if body. 2002-09-19 11:14:46 +00:00
Han-Wen Nienhuys
e88e4f2ef3 (scm_gc_register_collectable_memory): more overflow
protection.
2002-09-09 14:09:35 +00:00
Han-Wen Nienhuys
1e71eafb34 * inline.h: include stdio.h
* smob.c (free_print): abort if scm_debug_cell_accesses_p is set
2002-09-08 11:31:32 +00:00
Han-Wen Nienhuys
dac04e9fb9 * gc-segment.c (scm_i_make_initial_segment): check user settings
for sanity.

* gc-malloc.c (scm_gc_init_malloc): check user settings for
sanity.
(scm_gc_register_collectable_memory): prevent overflow of memory
counts.

* gc-freelist.c (scm_init_freelist): check user settings for sanity.

* gc-malloc.c (scm_gc_register_collectable_memory): use floats;
these won't ever wrap around with high memory usage.

* gc-freelist.c: include <stdio.h>

* gc-malloc.c: add DEBUGINFO for mtrigger GCs.
2002-09-05 21:55:33 +00:00
Han-Wen Nienhuys
ffd724008b * struct.h: change scm_structs_to_free to scm_i_structs_to_free
* gc-malloc.c (scm_gc_register_collectable_memory): use floats;
these won't ever wrap around with high memory usage.

* gc-malloc.c: add DEBUGINFO for mtrigger GCs.
2002-09-05 21:12:21 +00:00
Han-Wen Nienhuys
5bd4a949e8 include <stdio.h> 2002-09-05 20:47:35 +00:00
Han-Wen Nienhuys
61ef9c1fa3 add DEBUGINFO for mtrigger GCs. 2002-09-05 20:43:43 +00:00
Marius Vollmer
a27e3d1463 *** empty log message *** 2002-09-01 16:29:35 +00:00
Marius Vollmer
1f1270b96d (SCM_VECTOR_REF): New. 2002-09-01 16:29:06 +00:00
Marius Vollmer
ffd0ef3b7f *** empty log message *** 2002-09-01 16:20:02 +00:00
Marius Vollmer
5527702a65 (SCM_DEFINE_PUBLIC): New. 2002-09-01 16:19:18 +00:00
Marius Vollmer
f8a1712b11 *** empty log message *** 2002-08-30 21:57:38 +00:00
Marius Vollmer
aca23b65b4 (scm_addr_vector): Added size of address to arguments. Use it to
avoid accessing a non-existent path in a sockaddr_un.  Changed all
callers.
2002-08-30 21:57:10 +00:00
Han-Wen Nienhuys
1383773ba1 * gc.h: remove DOUBLECELL card flags.
* gc-malloc.c (scm_calloc): try to use calloc() before calling
scm_realloc().

* gc-segment.c (scm_i_initialize_heap_segment_data): remove card
init loop; handle this from scm_init_card_freelist()

* gc-card.c (scm_init_card_freelist): init bit vector here.
2002-08-28 23:13:30 +00:00
Han-Wen Nienhuys
8fa5786d7c (scm_make_real): prevent reordering of statements
num2float.i.c (FLOAT2NUM): idem
2002-08-28 22:50:32 +00:00
Han-Wen Nienhuys
7200a36b83 (scm_make_real): prevent reordering of statements 2002-08-28 22:45:48 +00:00
Han-Wen Nienhuys
9981de3a2b prepend libguile/ to include path 2002-08-27 10:58:01 +00:00
Marius Vollmer
1964755626 *** empty log message *** 2002-08-26 21:46:43 +00:00
Marius Vollmer
e62b37a0a3 (scm_compile_shell_switches): Added "2002" to Copyright years. Thanks
to Martin Grabmüller!
2002-08-26 21:46:22 +00:00
Han-Wen Nienhuys
38d1262ab5 (scm_i_get_new_heap_segment): use float in stead of
unsigned numbers for computing minimum heap increment. This
prevents weird results when a a negative minimum increment is computed.
2002-08-25 15:26:14 +00:00
Marius Vollmer
f800ebfb00 *** empty log message *** 2002-08-24 00:57:47 +00:00
Marius Vollmer
8cbb63c795 When we have __libc_stack_end, use that directly instead the old
tricks.
2002-08-24 00:57:14 +00:00
Marius Vollmer
34690e5338 Do not expect the input file to be the first argument after the
optional "-o" option, just pass everything to the pre-processor
without extracting the input file name.
2002-08-24 00:53:44 +00:00
Han-Wen Nienhuys
4a5309c938 (scm_i_get_new_heap_segment): Oops. We want segment
length *at* least SCM_MIN_HEAP_SEG_SIZE, not at most.
2002-08-23 00:05:58 +00:00
Gary Houston
917adc55ac *** empty log message *** 2002-08-22 18:20:36 +00:00
Han-Wen Nienhuys
f2893a253e make scm_cells_allocated unsigned again. Thanks to
Bill Schottstaedt for the bug report
2002-08-21 22:40:03 +00:00
Marius Vollmer
483f518bd4 *** empty log message *** 2002-08-19 23:25:33 +00:00
Marius Vollmer
3c568abbe3 Updated copyright years. 2002-08-19 23:23:23 +00:00
Marius Vollmer
f76af603e1 (scm_iprin1): Print primitives generics always as "primitive-generic"
even when they have no primitive methods yet.
2002-08-19 23:22:42 +00:00
Gary Houston
d900cd6dd4 * coop.c (coop_create): removed bogus 2nd argument in scm_malloc
call.
2002-08-17 20:39:35 +00:00
Han-Wen Nienhuys
85835e5991 * ports.c (scm_add_to_port_table): small bugfix.
* ports.c (scm_add_to_port_table): add backwards compatibility
function
2002-08-16 22:07:26 +00:00
Han-Wen Nienhuys
67329a9eef * mallocs.c (scm_malloc_obj): use scm_gc_malloc in stead of
malloc.

* gc-segment.c (scm_i_get_new_heap_segment): remove cluster cruft:
only use SCM_MIN_HEAP_SEG_SIZE.

* ports.c (scm_add_to_port_table): add backwards compatibility
function

* ports.h: use scm_i_ prefix for port table and port table size.
2002-08-16 22:01:10 +00:00
Mikael Djurfeldt
f07c886abb * vports.c (scm_make_soft_port): Initialize pt variable. 2002-08-15 21:17:21 +00:00