Juan Jose Garcia Ripoll
b1ccedea3b
Implement ecl_clear_interrupts[_env]() as described in the manual.
2009-09-16 22:30:40 +02:00
Juan Jose Garcia Ripoll
70287ee9c5
Implement missing EXT:WITH-INTERRUPTS
2009-09-16 22:30:16 +02:00
Juan Jose Garcia Ripoll
50c10a5d8d
We have to restore the signal before jump_to_sigsegv_handler()
2009-09-16 20:45:15 +02:00
Juan Jose Garcia Ripoll
e647d62b33
unixint.d:
...
* The code that decides whether to process or queue a signal is factored into
handle_or_queue. This code is now used by both Linux and Windows handlers.
* Each Linux or Windows handler translates the signal into a lisp object that
is passed to handle_or_queue. This allows for simpler, platform independent
queueing, and in particular it enables Windows to discriminate FPE errors.
2009-09-15 23:45:51 +02:00
Juan Jose Garcia Ripoll
90ef6e70ef
unixint.d:
...
* The routine handle_fpe_signal() is embedded in the lisp_signal_handler
* The Windows signal handler falls back to the previously installed handler
for exceptions that are not to be handled.
2009-09-15 21:59:58 +02:00
Juan Jose Garcia Ripoll
9d49df3a27
unixfsys.d: removed a debug statement that prints the DLL location.
2009-09-15 16:11:51 +02:00
Juan Jose Garcia Ripoll
260853ef0a
QUIT now unwinds all forms before exiting. In addition it can kill all existing threads.
2009-09-13 20:46:21 +02:00
Juan Jose Garcia Ripoll
a986a152dd
When rebasing the latest changes, the code for with-lock got corrupt.
2009-09-13 20:43:40 +02:00
Juan Jose Garcia Ripoll
a43206af76
Back to using locking streams for I/O in multithreaded environments.
2009-09-13 19:25:44 +02:00
Juan Jose Garcia Ripoll
c4c96f86be
Implemented code to allow multiple toplevels sharing the same console and switching from one another. This simplifies the debugger, as the process switching facility and locking is out of that code.
2009-09-13 19:25:44 +02:00
Juan Jose Garcia Ripoll
c61975728a
Avoid using C streams for the standard input when using threads.
2009-09-13 19:25:44 +02:00
Juan Jose Garcia Ripoll
ffe97de59c
top.lsp: the loop in with-grabbed-console was wrong, for after getting the signal from the condition variable one has to start over again.
2009-09-13 19:25:44 +02:00
Juan Jose Garcia Ripoll
74c8ce560c
The console is now protected by a global lock, so that toplevels from different threads do not interfere each other.
2009-09-13 19:25:44 +02:00
Juan Jose Garcia Ripoll
31a2348110
threads.d: fixed typos in the definition of mp_restore_signals.
2009-09-13 19:25:43 +02:00
Juan Jose Garcia Ripoll
2b9b19b669
New functions MP:BLOCK/RESTORE-SIGNALS block signals in a thread-local fashion whenever possible.
2009-09-13 19:25:43 +02:00
Juan Jose Garcia Ripoll
710bfbac2e
stacks.h: fixed typo in the definition of CL_CATCH_END
2009-09-13 19:25:43 +02:00
Juan Jose Garcia Ripoll
6d3eda35c4
src/configure.in: detect existence of gmp.h or gmp/gmp.h and signal error when using system libraries without finding the header.
2009-09-09 14:52:14 +02:00
Juan Jose Garcia Ripoll
1cac2fcb4f
MP:PROCESS-JOIN was defined also in not threaded builds
2009-09-09 11:58:57 +02:00
Juan Jose Garcia Ripoll
dc3ce38b1f
Pass the ABI parameter to GMP, in case we configure it ourselves.
2009-09-09 09:39:27 +02:00
Juan Jose Garcia Ripoll
a9548b4510
config.h.in: autoconf screws an explicit #undef ECL_SIGNED_ZERO that is intended to be used as such.
2009-09-09 09:33:48 +02:00
Juan Jose Garcia Ripoll
bb15e28d00
Create threads in a joinable state (Unix pthread) and let it detach itself before exiting.
2009-09-08 15:32:30 +02:00
Juan Jose Garcia Ripoll
83d8c5e3d5
The function mp_process_join() now also works with Windows.
2009-09-08 14:46:42 +02:00
Juan Jose Garcia Ripoll
ffbb1b45ad
New function MP:PROCESS-JOIN, waits for a thread to terminate (J.C.Beaudoin)
2009-09-08 14:32:49 +02:00
Juan Jose Garcia Ripoll
aac5ef1c91
Allow also ABI=32 in OSX/intel.
2009-09-08 00:46:20 +02:00
Juan Jose Garcia Ripoll
7e688bfa5a
Added test for copysign(), useful in Solaris <= 10, where signbit was not supported by the standard version of gcc.
2009-09-07 15:14:57 +02:00
Juan Jose Garcia Ripoll
7821ccb70c
Pass the CFLAGS, LDFLAGS and CC environment variables to GMP.
2009-09-07 11:56:28 +02:00
Juan Jose Garcia Ripoll
d4020fe3a6
GMP did not build properly when setting ABI=64
2009-09-07 11:27:36 +02:00
Juan Jose Garcia Ripoll
fe0d2f8cc9
Properly detect 64-bits builds in OS X using the environment variable ABI, and in this case avoid defining ECL_USE_VARARG_AS_POINTER.
2009-09-06 23:00:38 +02:00
Juan Jose Garcia Ripoll
53266a3b92
src/aclocal.m4: the test for uint*_t did not work because inttypes.h was not found.
2009-09-06 20:44:49 +02:00
Juan Jose Garcia Ripoll
5c6218f2e1
Note last change. Move *allow-with-interrupts* to MP package.
2009-09-05 12:49:41 +02:00
Juan Jose Garcia Ripoll
723c9419b4
Fixed typo in mp:get-lock
2009-09-05 12:49:01 +02:00
Juan Jose Garcia Ripoll
42fa780cd7
src/lsp/mp.lsp: use prefixes for names in SI/EXT packages.
2009-09-05 12:48:36 +02:00
Juan Jose Garcia Ripoll
99c98f82e2
src/c/compiler.d: asm_end() now always sets the value of bytecodes.definition
2009-09-05 12:43:36 +02:00
Juan Jose Garcia Ripoll
8b57696625
Fixed a couple of typos in ecl_set_finalizer_unprotected().
2009-09-05 12:31:11 +02:00
Juan Jose Garcia Ripoll
88f663ddb6
* Symbol SI:*INTERRUPT-DISABLE* changes name to SI:*INTERRUPTS-DISABLED*.
...
* Implement WITHOUT-INTERRUPTS similarly to SBCL.
* Implement WITH-LOCK disabling interrupts in the lock release phase.
2009-09-05 12:14:10 +02:00
Juan Jose Garcia Ripoll
c4cf6ad491
Reimplement WITH-UNIQUE-NAMES using LET* and GENSYM instead of block-gensym
2009-09-05 11:40:22 +02:00
Juan Jose Garcia Ripoll
9866109ea6
Copy WITH-UNIQUE-NAMES from SBCL.
2009-09-05 11:35:25 +02:00
Juan Jose Garcia Ripoll
436657ea2a
We do not need error checking mutexes, as we can do the recursivity check ourselves.
2009-09-05 11:31:21 +02:00
Juan Jose Garcia Ripoll
f360f6b0f0
Reorganize mp:make-lock so that it is interrupt-safe.
2009-09-05 10:42:17 +02:00
Juan Jose Garcia Ripoll
a35ba14206
Create ecl_set_finalizer_unprotected() for situations in which a finalizer must be set with interrupts disallowed.
2009-09-05 10:41:59 +02:00
Juan Jose Garcia Ripoll
ca6198d753
Reimplement with-lock so that it is interrupt-safe.
2009-09-04 23:12:36 +02:00
Juan Jose Garcia Ripoll
d60c758832
CLASS-OF now works with weak pointers.
2009-09-03 16:57:04 +02:00
Juan Jose Garcia Ripoll
00a5b33e01
Weak pointers can now be printed.
2009-09-03 16:55:33 +02:00
Juan Jose Garcia Ripoll
4a3349a9f2
Implemented weak pointers.
2009-09-03 16:54:25 +02:00
Juan Jose Garcia Ripoll
a30c355186
Eliminate further uses of deprecated functions (K. Shakirov)
2009-09-01 10:39:04 +02:00
Juan Jose Garcia Ripoll
766cbf2266
-lrt is needed for the semaphores in the BWGC.
2009-08-31 22:39:42 +02:00
Juan Jose Garcia Ripoll
87aca210d1
In solaris we need -lpthread for multithreaded builds
2009-08-31 21:59:26 +02:00
Juan Jose Garcia Ripoll
b3c3346062
Apply patch recommended by Boehm-Weiser-gc mailing list.
2009-08-31 21:50:23 +02:00
Juan Jose Garcia Ripoll
9e1d898ef6
Do not include ucontext.h if not required.
2009-08-31 21:35:37 +02:00
Juan Jose Garcia Ripoll
d65e2aa8e7
When we do not have neither signbit nor copysign, we fall back to _not_ supporting signed zeros.
2009-08-31 21:18:43 +02:00