Commit graph

43 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
52f6efc2a0 Fixed typo in process.d 2012-07-22 22:12:57 +02:00
Juan Jose Garcia Ripoll
e54d9a6173 Rename type_of -> ecl_t_of 2012-07-05 23:07:34 +02:00
Juanjo Garcia-Ripoll
9d4a68897a Fixed typo in process.d 2012-07-03 11:18:45 +02:00
Juan Jose Garcia Ripoll
e1fb39a49b Changed the name of the macro ECL_RESTARTS_TRY to ECL_RESTART_CASE 2012-07-02 23:21:34 +02:00
Juan Jose Garcia Ripoll
84a3200a02 Implemented a simple variant of RESTART-CASE in C. Used it to bind the restart ABORT on every thread. Introduced the function ecl_setq() 2012-07-02 22:49:27 +02:00
Juan Jose Garcia Ripoll
825fc8cbd3 Cnil and Ct are now part of legacy 2012-06-30 23:01:40 +02:00
Juan Jose Garcia-Ripoll
efadef99dc Prefix the block creation macros, ECL_BLOCK_*, etc 2012-06-30 12:01:44 +02:00
Juan Jose Garcia-Ripoll
05a16801ca Rename cl_va_* macros to ecl_va_* 2012-06-24 20:46:55 +02:00
Juan Jose Garcia Ripoll
52512c15a4 Rename the stp_* and aet_* enumeration names with the ecl_ prefix 2012-06-08 00:12:48 +02:00
Juan Jose Garcia Ripoll
64a9168434 CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix 2012-06-06 11:19:55 +02:00
Juanjo Garcia-Ripoll
57cd6e3066 Minor changes to add the new MP objects to the MSVC port and new code for waking up processes in this platform. 2012-04-16 23:35:40 +02:00
Juan Jose Garcia Ripoll
e3a426896f The process list is now protected by a spinlock 2012-04-12 23:59:20 +02:00
Juan Jose Garcia Ripoll
fbd3587b1a Removed further warnings about uninitialized or unused variables and functions 2012-04-11 23:04:27 +02:00
Juan Jose Garcia Ripoll
3bbba10703 Block interrupts when exiting the thread. 2012-04-11 22:03:25 +02:00
Juan Jose Garcia Ripoll
036cb55928 Fixes to remove warnings about unused variables. Replaced some uses of @(return) with ecl_return*() 2012-04-10 23:20:40 +02:00
Juan Jose Garcia Ripoll
d33fa59ee4 Immediately register the process with the env it forms part of. 2012-04-08 15:19:06 +02:00
Juan Jose Garcia Ripoll
f03bb29cd9 Ensure that a process is listed when its environment is created, so that this environment is marked. 2012-04-08 12:29:34 +02:00
Juan Jose Garcia Ripoll
cd02c2a0f4 Totally block signals until a thread is completely set up. 2012-04-08 00:24:36 +02:00
Juan Jose Garcia Ripoll
8810352ceb Fixed wrong initialization error in process.d 2012-04-07 19:32:09 +02:00
Juan Jose Garcia Ripoll
3980ea5d66 Removed the process.active field and instead used 'process.phase'. Added some debug statements. Threads are launched also with POSIX signals disabled (at least ECL's signal). 2012-04-06 18:07:58 +02:00
Juan Jose Garcia Ripoll
d771c29fcf MP:PROCESS-JOIN now works with an exit barrier that is set up for each process. 2012-04-06 12:08:47 +02:00
Juan Jose Garcia Ripoll
a5eb54dd27 Implemented mp:barrier and fixed unixsys.d to use spinlocks and not real locks. 2012-04-06 00:18:29 +02:00
Juan Jose Garcia Ripoll
7d97d8c817 Define ecl_process_yield() 2012-04-05 10:24:53 +02:00
Juan Jose Garcia Ripoll
57b24d5807 The main process was not marked as ctive. 2012-03-31 11:16:10 +02:00
Juan Jose Garcia Ripoll
4cf99dce0b Reuse the cons that is used for adding a process to a wait queue. 2012-03-29 15:25:59 +02:00
Juanjo Garcia-Ripoll
d0e9b4cd47 While a thread is booting: i) signals are ignored, ii) mp_process_join() and mp_process_kill() wait. 2012-03-20 17:46:31 +01:00
Juan Jose Garcia Ripoll
cacf1be931 mp_process_kill() and mp_process_join() now check whether the process is alive. 2012-03-20 00:02:51 +01:00
Juan Jose Garcia Ripoll
1ff7d7e4c2 In process.d, handling of the process vector includes compacting it and using a global lock for all tasks. 2012-03-18 13:29:21 +01:00
Juan Jose Garcia Ripoll
607ecaea2a The list of processes now has a fill pointer 2012-03-17 19:35:07 +01:00
Juan Jose Garcia Ripoll
9707940125 The process list is now an array 2012-02-18 20:16:06 +01:00
Juan Jose Garcia Ripoll
d5296f2563 Implement mutexes using CAS. Deactivate condition variables temporarily. 2012-02-12 23:31:29 +01:00
Juan Jose Garcia Ripoll
bc7be9bb98 Improved EXT:CATCH-SIGNAL to handle not running processes, threads and better use of sigprocmask. 2011-08-06 22:47:39 +02:00
Juan Jose Garcia Ripoll
e6bb812e38 Protect the GET/SET-SYSPROP hash using the same global lock as packages, which is now called cl_core.global_env read/write-lock 2011-07-31 17:03:24 +02:00
Juan Jose Garcia Ripoll
4f1da6d6f6 Fix package prefix (si->ext) in Windows' threading code (src/c/threads/process.d) 2011-05-22 23:35:07 +02:00
Juan Jose Garcia Ripoll
a7000ca0f9 Reimplementation of the SIGCHLD handler -- avoids race conditions using the signal handling thread. 2011-03-13 21:59:36 +01:00
Juan Jose Garcia Ripoll
1523ae8a5c EXT package created containing the original set of symbols (not yet filtered) and re-exported from SYS 2011-02-27 23:20:12 +01:00
Juan Jose Garcia Ripoll
7923040233 Fixed typo in symbol name. 2011-02-02 23:23:30 +01:00
Juan Jose Garcia Ripoll
19afa14a12 The list of symbols in cl_symbols is independent of the features linked in (except for CLOS) 2011-01-30 18:12:41 +01:00
Juan Jose Garcia Ripoll
a86bbd3605 Fixed various warnings to allow compiling ECL with CLang 2011-01-23 16:06:47 +01:00
Juan Jose Garcia Ripoll
0c090e2a38 Remove return statements without a value. 2011-01-23 12:35:45 +01:00
Juan Jose Garcia Ripoll
c86c8bd5c0 Move packages to read/write locks 2010-10-24 17:53:44 +02:00
Juan Jose Garcia Ripoll
1e3eb5b62a Global locking is done through three different locks, cl_core.global_lock, error_lock and package_lock. 2010-10-24 17:53:29 +02:00
Juan Jose Garcia Ripoll
3dfb2d6dcb Split the threads code into separate files. 2010-10-23 21:43:46 +02:00
Renamed from src/c/threads.d (Browse further)