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
|
a7eead6ba7
|
Slight optimizations in VALUES and MULTIPLE-VALUE-LIST
|
2012-04-11 23:04:07 +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
|
5c1dca4c67
|
Fixed another sign problem when handling the output of fread().
|
2012-04-10 21:03:33 +02:00 |
|
Juan Jose Garcia Ripoll
|
4c4b58c5cf
|
Fixed various type warnings issued by Clang
|
2012-04-09 22:31:09 +02:00 |
|
Juan Jose Garcia Ripoll
|
880259cb55
|
The signal queue is now local to a thread and is protected with a spinlock.
|
2012-04-08 22:37:22 +02:00 |
|
Juan Jose Garcia Ripoll
|
1472cc91ef
|
Removed the code for alternative stacks
|
2012-04-08 20:29:41 +02:00 |
|
Juan Jose Garcia Ripoll
|
2425a9ebb9
|
process_interrupt_handler() now handles _all_ queued signals, instead of just one.
|
2012-04-08 17:18:38 +02:00 |
|
Juan Jose Garcia Ripoll
|
1f89d8620c
|
SIGSEGV and SIGBUS share signal handler
|
2012-04-08 16:57:22 +02:00 |
|
Juan Jose Garcia Ripoll
|
840f041179
|
Avoid nested SIGSEGV/BUS interrupts, aborting immediately when it happens
|
2012-04-08 16:33:23 +02:00 |
|
Juan Jose Garcia Ripoll
|
8d1c35daeb
|
ecl_unrecoverable_error() verifies that some frame was established before jumping to it.
|
2012-04-08 16:17:50 +02:00 |
|
Juan Jose Garcia Ripoll
|
9825171f42
|
Only deliver signals to active processes.
|
2012-04-08 16:12:11 +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
|
6b77244d07
|
Relax the iteration error in LOOP to a warning
|
2012-04-08 00:50:05 +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
|
748eb30ebe
|
mp:mailbox-empty-p returned the opposite value.
|
2012-04-07 01:07:02 +02:00 |
|
Juan Jose Garcia Ripoll
|
ad49125681
|
Implemented a first prototype of mailbox
|
2012-04-07 00:55:14 +02:00 |
|
Juan Jose Garcia Ripoll
|
c123b66245
|
ecl_wait_on() returns the value of the tester.
|
2012-04-06 23:51:00 +02:00 |
|
Juan Jose Garcia Ripoll
|
c31ac36f91
|
get_semaphore_inner() must try to repeat decrementing the semaphore if CAS failed.
|
2012-04-06 23:17:43 +02:00 |
|
Juan Jose Garcia Ripoll
|
7643157118
|
Replace a @(return) with an ecl_return1()
|
2012-04-06 23:12:23 +02:00 |
|
Juan Jose Garcia Ripoll
|
defc12c1bc
|
The waiter for a barrier must check both that it was signaled and that the barrier is enabled.
|
2012-04-06 23:07:22 +02:00 |
|
Juan Jose Garcia Ripoll
|
b053cd80ec
|
The macroexpander for CASE also warns about an improper order of statements.
|
2012-04-06 18:49:09 +02:00 |
|
Juan Jose Garcia Ripoll
|
671aef6634
|
Warn when the OTHERWISE/T clause in CASE appears at a position other than the last one.
|
2012-04-06 18:20:55 +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
|
d0abeffcdd
|
DIRECTORY does not complain about non-existent directory components
|
2012-04-06 18:04:00 +02:00 |
|
Juan Jose Garcia Ripoll
|
56d53420a9
|
In external-process-wait, spin to ensure that a structure was already updated by the concurrent thread.
|
2012-04-06 12:37:29 +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
|
d161ac43f9
|
wakeup_one() did not use the spinlocks and had some additional implementation errors.
|
2012-04-06 12:08:47 +02:00 |
|
Juan Jose Garcia Ripoll
|
9ee80d0396
|
Sometimes the environment of a process might be NULL -- in that case, avoid marking.
|
2012-04-06 11:47:58 +02:00 |
|
Juan Jose Garcia Ripoll
|
42459677a0
|
mp:barrier-wait was missing the condition for disabled barriers
|
2012-04-06 11:24:27 +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
|
44fbe27453
|
List new thread files in emacs.el
|
2012-04-05 01:11:03 +02:00 |
|
Juan Jose Garcia Ripoll
|
0221323a84
|
Change special handling of interrupt signal in asynchronous_signal_servicing_thread()
|
2012-04-05 01:11:03 +02:00 |
|
Juan Jose Garcia Ripoll
|
e192df6069
|
Fixed order of arguments to pthread_sigmask()
|
2012-04-05 01:08:39 +02:00 |
|
Juanjo Garcia-Ripoll
|
1683fe140d
|
Removed wrong comment
|
2012-04-02 17:28:33 +02:00 |
|
Juanjo Garcia-Ripoll
|
0fecb887e0
|
Implemented semaphores using atomic operations
|
2012-04-02 17:12:50 +02:00 |
|
Juan Jose Garcia Ripoll
|
e607b5c7f8
|
Fixed a typo in queue.d
|
2012-04-01 12:32:44 +02:00 |
|
Juan Jose Garcia Ripoll
|
b45695b642
|
Remove change that slipped from previous debugging sessions.
|
2012-03-31 11:30:06 +02:00 |
|
Juan Jose Garcia Ripoll
|
1de1d7e428
|
ecl_wait_on() takes the environment as an argument
|
2012-03-31 11:25:56 +02:00 |
|
Juan Jose Garcia Ripoll
|
667362a485
|
mp_get_lock_wait() checks the type of the lock before dereferencing a field.
|
2012-03-31 11:22:23 +02:00 |
|
Juan Jose Garcia Ripoll
|
e278e1d5a7
|
When the lock is interrupted, we have to ensure that some thread is woken up.
|
2012-03-31 11:17:27 +02:00 |
|
Juan Jose Garcia Ripoll
|
108dffc08e
|
Moved some comments
|
2012-03-31 11:17:08 +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
|
008a260e1f
|
In ecl_wait_on(), take care of the situation in which we abort waiting but do not care to acquire the lock: the other waiters must then be awoken.
|
2012-03-31 10:54:01 +02:00 |
|
Juan Jose Garcia Ripoll
|
e614f54a10
|
Resucitate the ecl_wait_on() implementation based on nanosleep().
|
2012-03-29 22:45:58 +02:00 |
|
Juan Jose Garcia Ripoll
|
a5d1a4fdad
|
Only block the process communication thread
|
2012-03-29 22:25:28 +02:00 |
|