Commit Graph

28 Commits

Author SHA1 Message Date
mainzelm 48a009c698 Create a fresh vector of handlers on startup. 2002-09-06 11:25:59 +00:00
sperber 3d7f50ada2 Cosmetic fix: the file uses explicit STRUCTURE-REFs for all
references to THREADS-INTERNAL except one.  Make that one reference
into a STRUCTURE-REF also.
2002-09-03 13:23:54 +00:00
mainzelm cad4096910 Finished implementation for pending interrupts. 2002-08-05 11:30:33 +00:00
mainzelm 66c2ae5d38 Check enabled interrupts before calling the handler. 2002-07-18 08:04:34 +00:00
mainzelm 71e3326079 Reintroduce run-as-long-as to ensure the threads exit on an error
while evaluating -c and -s flags.
2002-06-26 10:02:10 +00:00
mainzelm 54a3d86c67 Spawn-on-root the deliver-interrupts thread. 2002-06-10 08:49:13 +00:00
sperber 1d35626709 Redo the forking-without-the-threads fix in a way not involving
command levels (as there *are* no command levels for things like scsh
-c):

There's now a new asynchronous event, similar to SPAWN, called NARROW.
It spawns off a new scheduler with just one thread (which runs the
thunk provided as an argument to NARROW) and blocks the current one
until the narrowed scheduler finishes.

For this to work, two schedulers need to be in place: the root
scheduler which performs the housekeeping, and another one inside that
which is the one the program uses---otherwise it's the root scheduler
that's blocked, and that means no housekeeping gets done.  This is
trivially the case for interactive mode, as the command-levels all
have their own schedulers, but we also need to make sure scsh's entry
point fires up its own initial scheduler.
2002-05-03 13:42:36 +00:00
mainzelm 6671ff0e04 + Fixed small race condition problem in wait. There are still problems
when lots of processes are forked
+ Added optional name parameter in run-as-long-as
2001-11-08 08:14:37 +00:00
mainzelm fe6a9db1e5 Renamed scsh-events to sigevents. 2001-10-18 09:02:52 +00:00
mainzelm 9ec1d2ef5e Kill the administrative threads on error. 2001-10-03 14:41:01 +00:00
mainzelm b30eed8d54 + Replaced define-stubless-foreign by import-lambda-definition or
import-os-error-syscall
+ Removed loading of cig-aux and define-foreign
2001-09-13 07:59:40 +00:00
mainzelm e6ccf4cf1f Removed foreign statements. 2001-09-07 15:14:50 +00:00
mainzelm a95c531327 Added with-autoreaping and with-scsh-sighandlers.
Added auto-init for process-objects to flush the process table on startup.
2001-04-09 08:05:58 +00:00
mainzelm d5bbf33756 Always install default handler for SIGINT. Overwrite it if interactive. 2001-01-15 13:43:35 +00:00
mainzelm 4643aa5362 Wrapped an exit around restart-command-processor to kill all threads. 2001-01-11 15:03:30 +00:00
mainzelm c1d6d368e5 Built the event system directly into the RTS. Built sighandlers above
it. Removed machinery in low-interrupt.
2001-01-09 15:52:52 +00:00
mainzelm a2ec10935a removed unused code, port to new FFI 2001-01-01 17:49:08 +00:00
mainzelm b3447ad964 Default sighandler for SIG/INT depends on whether we run interactive or not. 2000-09-17 15:10:42 +00:00
marting b79df3d6c1 Opened threads-internal only for access and replaced runn by run again. 2000-06-28 10:30:59 +00:00
marting c2ccd7c924 interrupt/alarm is now generated by itimer in low-interupt. command-level set no longer a handler for interrupt/keyboard. sighandler now generates the event for Interrupt: keyboard 1999-11-15 00:23:11 +00:00
marting 6f15160aac readded with-enabled-interrupts 1999-11-04 20:28:06 +00:00
marting 30b32c7ff6 made interrupt handler a client to low-interrupt. Added blocking via disableing. Not yet thread-save nor interrupt-save in itself 1999-10-15 18:57:29 +00:00
marting 1d4d7d0e0c snapshot, this version should work quite well 1999-10-08 18:41:05 +00:00
marting f812d7e579 fixed misplaced quotation mark and prevented installation of real-sighandler 1999-09-28 23:53:23 +00:00
marting bca77db078 daily snapshot, mainly changes to get 0.5.2 stuff running 1999-09-24 23:54:22 +00:00
marting 4e935c24a5 just a snapshot 1999-09-23 14:36:25 +00:00
marting d3638eec28 made os-signal base of the interrupt system.
There is now a enumeration scsh-os-signal, that lists all signals. The function set-interrupt now acts on scsh-os-signal-handlers-vector, not any longer on the vm-vector.

The with-enabled-interrupts etc stuff does NOT work at the moment.
1999-09-22 17:00:08 +00:00
marting 09136048ae Added files from david fishers home (~dfisher/scsh-0.5.1).
Be warned: the scsh-version he started from was neither 0.5.1 nor
0.5.2, but something in between !
1999-09-14 13:32:05 +00:00