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
sperber
2a302178e6
Provide names for housekeeping threads for better debugging.
2002-05-03 13:36:15 +00:00
sperber
104ed36666
Export PRESERVE-THREAD-FLUIDS from THREAD-FLUIDS.
2002-04-12 14:29:25 +00:00
mainzelm
fe5c9a3783
Cells for thread-env's fluid-cell-{ref,set!}.
2002-04-04 08:45:28 +00:00
mainzelm
ea31d95dbc
All the SRFIs from S48 0.57.
2002-04-04 08:44:49 +00:00
mainzelm
66a5384a98
alt/ from S48 0.57.
2002-04-04 08:36:20 +00:00
mainzelm
ffa5461a39
Added fluid-cell-ref and fluid-cell-set!.
2002-04-04 08:22:20 +00:00
mainzelm
06b68b7c5e
Cells as stob (from S48 0.57).
2002-04-04 08:13:53 +00:00
mainzelm
6f083d7205
Small renamer for clarity.
2002-04-04 08:09:15 +00:00
mainzelm
5aee745efb
New module language from S48 0.57.
2002-04-03 12:17:19 +00:00
sperber
b4312d028c
Be even more thorough about releasing port locks after exceptions.
2002-02-28 08:29:04 +00:00
sperber
f5d853712b
Remove STEAL-CHANNEL-PORT! which has been unused for a while now and
...
uncomfortably shared code with STEAL-PORT!
2002-02-28 08:28:32 +00:00
sperber
12ced00589
Make sure port locks get released after I/O errors.
2002-02-26 14:40:21 +00:00
mainzelm
150031d918
Revive these wonderful debugging tools.
2002-02-12 07:54:22 +00:00
sperber
baf1dbbf76
Pass optional arguments from FORK-THREAD to SPAWN.
2002-02-04 11:34:17 +00:00
mainzelm
2b1d8a3d01
Let s48-do-gc return 0 so the PreScheme compiler will emit the correct
...
signature of the function.
2002-02-01 10:25:50 +00:00
sperber
7c026ff0b4
Fix external-call-from-callback problem leading to spurious
...
gc-protection-mismatch exceptions.
2002-01-27 20:20:53 +00:00
mainzelm
284d89fe12
Added hook to align cwd and umask for the S48 system.
2001-12-19 09:14:15 +00:00
mainzelm
8bba3a13e1
Adjust top of stack as well.
2001-12-04 13:06:12 +00:00
sperber
136e313af7
New implementation of (no-inheritance) thread-local cells and thread
...
fluids.
New implementation of syslog.
Both are to be compatible with what's actually probably going into
Scheme 48.
2001-12-03 15:21:46 +00:00
sperber
b5180b35af
Make naming consistent with current Scheme 48:
...
argtype -> argument_type
argnumber -> argument_number
2001-12-03 15:19:48 +00:00
mainzelm
1ed75d8531
Let thread-uid->thread invoke the GC if it encounters multiple threads with the same uid.
2001-11-08 10:24:41 +00:00
mainzelm
405512e0db
Expported the rest of the port-handler accessors.
2001-10-25 07:24:42 +00:00
mainzelm
fe6a9db1e5
Renamed scsh-events to sigevents.
2001-10-18 09:02:52 +00:00
mainzelm
59bd2ab6e4
Peek on char-source-input-ports does not work. Added error message to report this.
2001-10-05 16:25:41 +00:00
mainzelm
9552e7900a
A thread may life in multiple queues.
2001-10-04 11:16:15 +00:00
mainzelm
2e3dd4b65c
Fixed small typo.
2001-09-12 13:42:29 +00:00
sperber
7a45d9cc01
Change from Richard, Scheme 48 0.56 -> 0.56.9:
...
Define exception handler for TIME opcode.
2001-07-10 13:13:27 +00:00
mainzelm
569dbe6649
Bug fix by Richard for finite types used within macros.
2001-07-09 14:15:51 +00:00
mainzelm
68eb897e20
Merged in macro expander changes from Scheme 48 0.56.
2001-07-09 14:15:05 +00:00
mainzelm
8b44999d55
Really fixed the bug in sleep. The previous fix was totally broken.
2001-06-07 16:14:29 +00:00
mainzelm
fd264012b9
Added argument conversion for sleep (prevents a core dump on inexact numbers).
2001-05-30 15:55:55 +00:00
sperber
8f02923726
Added thread-fluids which are a cross between thread cells and fluids.
...
They encapsulate thread-local state and have a binding construct
analogous to LET-FLUID.
2001-05-28 13:44:48 +00:00
sperber
1e212d78a4
Bug fix:
...
I had forgotten to mark the thread-cell value environment as read-only
when it's passed on to a spawned thread. Do that now.
2001-05-28 13:31:01 +00:00
sperber
21a8e255eb
Added thread-cells structure for thread-local cells.
...
These can be used (together with fluids) to implement something akin
to PLT's and Chez's parameters for holding thread-local state such as
CWD, syslog channel, etc.
2001-05-22 14:58:15 +00:00
mainzelm
384c28fab4
Hand out the port and not just port-data to the handler.
2001-04-09 07:55:50 +00:00
mainzelm
5d4b66daf4
Upgraded inliner from 0.54. There is still a bug as a call to error must not be the last expression of a procedure. No fix for now, use (if #t (error ...)) as a workaround
2001-03-25 12:08:45 +00:00
mainzelm
0b00ab0380
Upgraded inliner from 0.54. There is still a bug as a call to error must not be the last expression of a procedure. No fix for now, use (if #t (error ...)) as a workaround
2001-03-25 11:21:58 +00:00
mainzelm
25f395c1d0
* New package definitions now that we have SRFI-13 and 14
...
* Introduced the nomenclature "sigevent"
2001-03-23 12:45:31 +00:00
mainzelm
9b4bb8a19d
Adapted some of Richard's changes for char-ready? and output-port-ready?.
2001-03-23 10:59:07 +00:00
mainzelm
9035313159
Added nested multi-line comments. The implementation has two
...
drawbacks:
1.) Since # and | may be part of an identifier, a#|bla|# is
read as a#|bla|# not as a.
2.) The REPL won't read a comment for its own, it will wait for
another value:
>#|bla|#
3
3
>
2001-01-12 18:16:42 +00:00
mainzelm
eb89a60d2c
Replaced Scheme 48 with Scsh in user dialog.
2001-01-11 15:05:04 +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
435afc1e2b
Changes for Cygwin.
2001-01-09 15:49:29 +00:00
mainzelm
c231ab7c6b
let byte-vectors print as a list of numbers
2000-09-01 07:13:05 +00:00
marting
82f8195911
Initialize event system etc. in scripts too.
2000-08-28 12:51:22 +00:00
marting
dabbe8ca90
Various bug fixes for byte-vectors.
2000-08-28 12:45:00 +00:00
marting
b39fd47d82
Renamed byte-vector to code-vector.
2000-07-27 13:28:40 +00:00
marting
c96cde2294
Fixed bug in FFI. Up to 12 Arguments to an external call are now
...
supported.
2000-06-30 07:04:04 +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