Commit Graph

45 Commits

Author SHA1 Message Date
mainzelm 87632c785e Renamed string-filter to make-string-port-filter and char-filter to
make-char-port-filter to avoid a name clash with SRFI-13/14.
2003-04-14 09:34:55 +00:00
mainzelm 551f0a3ee2 Fixed bug in really-fork/pipe+: let-optionals already takes care of
optional arguments, no need to CAR any further.
2003-03-31 06:09:00 +00:00
sperber 1e1d44a497 In FORK, flush output ports inside the narrowed section, not before,
avoiding some, erm, pretty obvious race condition.
2003-03-07 13:38:07 +00:00
mainzelm 673dbaffdb set-uid and set-gid change the effective uid as well. It is therefore
not only required to update the cache but also to set the thread-local value.
2003-02-20 17:13:55 +00:00
mainzelm 8b451fe673 + Factor out exit hooks into a separate package.
+ Let exit call the exit hooks.
2002-09-25 11:40:07 +00:00
mainzelm ff0ce8fdfb + user-effective-uid and -gid per thread.
+ alignments for euid- and egid-resource
+ argument to chdir is now optional and defaults to (home-dir)
2002-09-06 09:57:32 +00:00
mainzelm 51230dfab1 Remove debugging message which isn't printed anyway. 2002-08-16 12:33:00 +00:00
sperber 09db2fed71 Remove a bunch of crud from utilities.scm as well as the dependencies
upon that crud.
2002-08-14 14:45:33 +00:00
mainzelm d30130ab03 Deadlock-free resource locking. 2002-08-13 06:49:22 +00:00
mainzelm 021cd1efc1 + Let WITH-HANDLER take care of the resource lock.
+ Removed some duplicate alignments of process resources and moved
other closer the the actual system call
2002-05-15 17:05:02 +00:00
mainzelm 0b35dbbe2f exec-path-list is a thread-fluid now. 2002-05-07 08:58:53 +00:00
sperber 37948e173d Preserve ports in forked child.
The use of NARROW had borked this.
2002-05-06 15:54:38 +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 43cd435bad Fixed cut and paste error in with-umask-aligned. 2002-04-29 11:25:17 +00:00
mainzelm 4a7620c882 Fixed bug in setenv: #f was not handled as deleting the variable.
Also removed superfluous list-copying before call to alist-update as
this has no side effects.
2002-04-28 18:47:00 +00:00
mainzelm 8cb11125ae + Fixed small bug in fork: command level wasn't resumed in the no-thunk case.
+ Optional continue-threads argument for fork/pipe and fork/pipe+
2002-04-21 16:29:16 +00:00
sperber 3717053d60 Preserve thread fluids when forking. 2002-04-12 14:29:38 +00:00
sperber 349fff06c1 Basic FORK and and %FORK now start a new command level inside the
child process, thus preventing other threads from continuing to run.

Both take an additional optional argument that, when true, reverts the
old behavior of continuing all threads.

Moreover, use WITH-CONTINUATION NULL-CONTINUATION in CALL-TERMINALLY
to get us more space.
2002-04-10 15:03:02 +00:00
mainzelm 3ce5de8758 If $HOME is unset, consult (user-info (user-uid)) for the value of home-directory. 2002-02-06 15:17:19 +00:00
mainzelm 07f796459e Align the resource before changing it in with-resource*. 2002-01-29 08:12:09 +00:00
mainzelm 284d89fe12 Added hook to align cwd and umask for the S48 system. 2001-12-19 09:14:15 +00:00
mainzelm 2e5fd56011 Minor clean-up. 2001-12-07 11:28:37 +00:00
mainzelm 3620d702f0 Use make-preserved-thread-fluid for the process resources.
Fixed indentation.
2001-12-05 08:34:37 +00:00
mainzelm d6a7f7c303 Changed default value of *temp-file-template*: First $TMPDIR is
consulted, if it is unset we use "/var/tmp".
2001-10-23 08:07:53 +00:00
mainzelm f4bd5dfa85 Fixed bug in thread-change-resource (and thereby in chdir). 2001-09-12 14:43:19 +00:00
mainzelm ebd33706cc Use import-os-error-syscall to convert from os-error to syscall-error. 2001-09-12 14:08:24 +00:00
mainzelm 9c46dba238 + Removed record-discloser for env
+ Added record-resumer for env
2001-08-06 09:24:24 +00:00
mainzelm 4aa561b569 Implement environment per thread via process-resource/thread-fluids. 2001-08-06 08:33:24 +00:00
mainzelm 75fa4c1852 With-umask-align for the rest of the syscalls. 2001-07-10 14:52:57 +00:00
mainzelm decf6184d9 + Derive general make-process-resource from cwd stuff
+ Implement cwd with make-process-resource
+ Implement umask with make-process-resource
+ Add with-umask-aligned* to exec
2001-07-09 21:23:04 +00:00
mainzelm 04362fd7e3 + Switched cwd to thread-fluids
+ Added with-cwd-aligned* for exec
+ Moved reinitializer from syslog to scsh-utilities
2001-07-09 18:29:26 +00:00
olin-shivers 00544d449c Fixed bug in CREATE-TEMP-FILE wherein format-string tilde's weren't
being quoted. Oops.
2001-06-02 17:45:25 +00:00
mainzelm 5500490a1d Sleazy fix for the inliner: procedures can't "return" error, so wrap a
(if #t ...) around it.
2001-04-09 07:59:17 +00:00
olin-shivers d708ef06e2 EXEC-PATH-LIST is now a fluid. 2001-03-11 18:58:54 +00:00
mainzelm df2db4631d Changed default directory for create-temp-file fro /usr/tmp to /tmp. 2000-12-22 14:13:17 +00:00
marting 04fc3b8b37 Fork sets batch-mode in child only if there is a session. 2000-07-28 09:11:09 +00:00
marting d130f23f0d Put cwd in a record to be able to define a resumer that initializes to
process-cwd.
2000-07-11 12:29:35 +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 ea5725436e Added several cwd-aligns. with-env usees with-lock. Some corrections
to getenv.
2000-06-28 10:27:34 +00:00
marting 2c5a392584 Fixed cwd: Removed dynamic-wind and seperated things. 2000-06-20 08:44:01 +00:00
marting d0b3f61ccd Better type annotations. Moved char_pp_2_sting_list to cstuff.c. 2000-05-16 09:24:54 +00:00
marting 07a9816153 added env and cwd per thread 1999-11-04 21:40:50 +00:00
marting 26447c1d1a added channel-cell-ref to newports for the changed design in rts/channel-port.s, vm starts from dumped image now 1999-09-24 23:52:32 +00:00
marting 4e935c24a5 just a snapshot 1999-09-23 14:36:25 +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