Commit Graph

382 Commits

Author SHA1 Message Date
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 b222cfe4c3 Default argument for tty-info as promised in the manual. 2002-03-22 10:23:34 +00:00
mainzelm c9c0535f41 Bug fix: 2 values were not converted to descriptors. 2002-03-22 10:22:59 +00:00
sperber 7fdde2527f Plug space leak in BIND-LISTEN-ACCEPT-LOOK: Errno handlers for failed
connections would accumulate indefinitely.
2002-03-06 08:24:32 +00:00
mainzelm cb6e8572d6 Added forgotten calls to with-cwd-aligned. 2002-03-05 16:57:43 +00:00
mainzelm 87d82f5011 Align cwd and umask. 2002-03-05 16:49:58 +00:00
sperber a7517a3f05 Add record discloser for FDPORT-DATA. 2002-02-26 14:40:59 +00:00
mainzelm 5f7ed5befe Fixed bug in test for sync-file. 2002-02-26 13:02:17 +00:00
mainzelm 13dabb8f4e Always signal an error if time returns -1. Not uses errno-error as
only few systems set errno if mktime fails.
2002-02-26 10:53:32 +00:00
mainzelm 45305e7555 Set-cloexec to #t for unrevealed ports. 2002-02-26 08:42:56 +00:00
sperber 380fee6612 Make FLUSH-ALL-PORTS blocking so FORK will do something more sensible.
Previously,

(begin
  (display "ha!") (newline)
  (fork (lambda ()
	  'foo)))

would print "ha!" twice because FLUSH-ALL-PORTS would not finish
before the actual FORK.
2002-02-25 20:29:15 +00:00
mainzelm 09ab472695 + Greet with scsh-version-string
+ call relinquish-timeslice twice before exit so the flushers may run
2002-02-25 09:00:39 +00:00
mainzelm 71cc8cf091 Fix for 0.6.1 2002-02-25 07:01:22 +00:00
sperber de0de38bb6 Remove obsolete comment about START argument to CRE-SEARCH not being
supported.
2002-02-22 10:27:07 +00:00
sperber 68aa82c4e7 Remove superfluous END-VEC parameter to CRE-SEARCH. 2002-02-22 10:25:42 +00:00
sperber dce89b2fa8 Translate submatches according to CRE:TVEC, fixing submatch bug
reported by Michel Schinz.
2002-02-22 10:22:38 +00:00
sperber 64cdef6fc7 Fix infinite recursion bug in HACK-BRACKET-SPEC:
The LOOSE and RANGES lists weren't getting sorted in the fixpoint
comparison.
2002-02-21 13:44:47 +00:00
sperber be84d5ec47 Reinstate FILE-MATCH, accidentally left unported from 0.5.1.
Replace mention of SRFI 13 (not there yet) by STRING-LIB (gone soon).
2002-02-21 13:22:27 +00:00
sperber b289d0dde7 Fix incomplete port to new regexp system. 2002-02-21 13:21:32 +00:00
mainzelm 4efe1a4cd8 + Use S48's nonblocking facility to flush the ports
+ Deleted bogus select implementation
2002-02-21 06:55:37 +00:00
mainzelm be129cadc7 Sometimes some OSs (OS X, Linux, Solaris) report EISDIR when unlinking a file. 2002-02-19 17:18:45 +00:00
sperber d77257ae6b More pervasive fix for ASCII NUL problem. 2002-02-16 18:04:49 +00:00
sperber 1f5b157c1d Omit ASCII NUL from control character set. 2002-02-16 17:46:09 +00:00
sperber a03bc65f4e Remove BOW/EOW and WORD/WORD+ as they are not in POSIX, not supported
by a number of platforms, and their meaning is locale-dependent.
2002-02-16 16:57:25 +00:00
mainzelm 1b2096cfb4 Cancel some unnecessary GC_PROTECTs. 2002-02-14 14:00:27 +00:00
mainzelm 64221a6b95 Don't blindly remove a process object. 2002-02-14 13:32:19 +00:00
mainzelm 238ba3e8ba Let weak-table-ref kill the entry if the value is #f. 2002-02-14 13:31:41 +00:00
mainzelm 36c5c82ec3 Added forgotten with-error-output-port stuff. 2002-02-14 13:30:53 +00:00
mainzelm 8d733eec78 env-path-list is a fluid. 2002-02-13 15:09:27 +00:00
mainzelm 54efae2318 + Lock for the process table
+ Use wait-lock to glue waiting and the process object together
+ Delete the pid/weak-pointer pair in the process table if the process object
  gets finalized
2002-02-13 14:56:11 +00:00
mainzelm 2b7266994d Treat setting to #f as delete. 2002-02-13 14:36:10 +00:00
mainzelm 9e2d0ca60c Minor corrections. 2002-02-13 14:34:52 +00:00
mainzelm 4d28e2bb33 /kick mainzelM 2002-02-13 08:51:01 +00:00
mainzelm 3662ea8d88 Fixed bug in bind-socket. 2002-02-13 08:28:59 +00:00
steven-jenkins 94d5ae9f71 GC_PROTECT'ed the necessary variables (specifically, where >1 arg to
a function 'may GC')
2002-02-12 15:49:39 +00:00
steven-jenkins 0025ee598b Fixed typo. 2002-02-12 15:31:36 +00:00
steven-jenkins 90445340fe GC_PROTECT'ed the necessary variables (specifically, where >1 arg to
a function 'may GC')
2002-02-12 13:43:37 +00:00
steven-jenkins 424109a452 GC_PROTECT'ed the necessary variables (specifically, where >1 arg to
a function 'may GC')
2002-02-12 13:38:20 +00:00
steven-jenkins 96b6558a78 GC_PROTECT'ed the necessary variables (specifically, where >1 arg to
a function 'may GC')
2002-02-12 13:37:36 +00:00
mainzelm e316ce1109 + Fixed bug in set-process-group
+ include <string.h>
+ save errno before starting timer interrupts
2002-02-11 17:32:20 +00:00
steven-jenkins 65407be26c GC_PROTECT'ed the necessary variables (specifically, where >1 arg to
a function 'may GC')
2002-02-11 15:38:35 +00:00
mainzelm 6158e7a964 Fixed memory leak. 2002-02-07 10:11:20 +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 7acad294ac + Don't raise an error on ECHILD since ECHILD just indicates that
there are no childs ready.

+ Squirrel away errno before starting alarm interrupts
2002-02-06 09:47:27 +00:00
mainzelm 07f796459e Align the resource before changing it in with-resource*. 2002-01-29 08:12:09 +00:00
sperber 369bc08f2e GC protection fix for waitpid.
Note that there are probably more bugs similar to this one.
2002-01-27 20:20:09 +00:00
mainzelm 4406337368 Stop timer interrupts before doing a execve. 2002-01-24 17:11:48 +00:00
mainzelm 4ba631031d num-ttychars (value of NCCS) seems to be 32 not 19.
This fixes #505155.
2002-01-24 08:18:43 +00:00
mainzelm 665928fed1 Return 0 exit status for -c and -e. 2002-01-24 08:14:42 +00:00
mainzelm cad703672f Appropriate error message if retrying connect failed. 2002-01-23 15:06:08 +00:00
mainzelm 2da600ffbb Replaced // comments. 2002-01-11 10:13:58 +00:00
sperber fbb912c9eb Pass SYSCALL argument to ERRNO-ERROR. 2002-01-10 12:29:36 +00:00
mainzelm 30187cf93f Replace s48_raise_string_os_error by s48_raise_string_os_error_X
for compatibility with import-os-error.
2002-01-10 10:08:14 +00:00
sperber 4328a9047c ... and here's the first post-0.6 bug fix:
Remove LOG_LPR from list of syslog levels.
2002-01-10 09:53:57 +00:00
mainzelm a9d80cba6d Added generic configuration. 2002-01-09 15:07:18 +00:00
mainzelm d31eccb605 Check if SIGINFO and SIGPWR are the same (HP-UX 10.2). 2002-01-09 12:59:13 +00:00
mainzelm 06ce3e41e6 + Use setreu/gid if seteu/gid is not avaiable
+ Don't declare tzname extern for cygwin
2002-01-09 11:25:02 +00:00
mainzelm a8fa33646a Added dummy declarations for getnetbyaddr and getnetbyname. 2002-01-09 10:31:45 +00:00
mainzelm bf94408228 Merged in change from old tree. Original log message:
date: 2001/05/27 23:57:07;  author: bdc;  state: Exp;  lines: +0 -4
Updated with fix for latest cygwin
2002-01-09 08:04:08 +00:00
sperber cf3eb3d822 Add BREAK-DOT-LOCK to DOT-LOCKING-INTERFACE. 2002-01-07 13:11:55 +00:00
sperber 50b49a7068 Made arguments to OBTAIN-DOT-LOCK optional and supply sensible
defaults.
All timings are now in seconds.
Add interface procedure BREAK-DOT-LOCK.
Indicate broken lock by BROKEN return value from OBTAIN-DOT-LOCK.
2002-01-07 13:11:26 +00:00
mainzelm 5aeb88d72e Derelease bufpol/line 2002-01-03 10:23:19 +00:00
mainzelm 3eec9a6429 No longer an alpha version. 2002-01-03 10:16:40 +00:00
sperber 29f7483d60 Basically reimplement to my idea of dot-locking.
(Sorry, Martin ...)
2001-12-27 17:29:17 +00:00
mainzelm 284d89fe12 Added hook to align cwd and umask for the S48 system. 2001-12-19 09:14:15 +00:00
mainzelm 6643c70391 Fixed check for stopped child. 2001-12-17 15:39:22 +00:00
mainzelm 8f3c22b40d + New names for dot-locking procedures.
+ Optional retry interval and counter for obtain-dot-lock
+ Exported crypt
2001-12-17 09:24:05 +00:00
mainzelm 2e5fd56011 Minor clean-up. 2001-12-07 11:28:37 +00:00
mainzelm 023caecf53 Added library directory path search command-line switches.
Unlike 0.5.3 I don't allow symbols in SCSH_LIB_DIRS (See bug #489901).
2001-12-07 11:24:30 +00:00
mainzelm a1f17bb13d Use fork-thread in fork/thread. 2001-12-07 09:59:48 +00:00
mainzelm 2fa5e3f693 Flush only the open ports. 2001-12-07 09:59:13 +00:00
mainzelm 69adcc41ba + reworked wait
+ wait-process-group does no longer a blocking wait(2)
2001-12-05 14:45:35 +00:00
mainzelm 3620d702f0 Use make-preserved-thread-fluid for the process resources.
Fixed indentation.
2001-12-05 08:34:37 +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 6e7ae9448f Initialize session and user-environment correctly. 2001-11-27 18:11:38 +00:00
mainzelm 0602e0707f Flush all ports before exit. 2001-11-27 17:10:07 +00:00
mainzelm abf7c53cc5 Added channel->port. 2001-11-27 11:08:30 +00:00
mainzelm d7f602982e Use scheme-exit-now instead of exit. 2001-11-21 14:20:16 +00:00
mainzelm 48067a7a2a Removed some constants which are commented out in netconst.scm from the exports. 2001-11-08 13:30:27 +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 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 5e3f793326 Prevent FreeBSD's strftime from segfaulting by setting tm_zone. 2001-10-19 13:26:56 +00:00
mainzelm fe6a9db1e5 Renamed scsh-events to sigevents. 2001-10-18 09:02:52 +00:00
mainzelm f4c06c96e7 Let wait-pid use s48_raise_os_error and adapt Scheme code accordingly. 2001-10-18 08:51:32 +00:00
mainzelm 238dceb380 Renamed sleep & sleep-until to process-sleep and process-sleep-until. 2001-10-09 19:47:00 +00:00
mainzelm 4f91395748 Fixed bug caused by forgotten parentheses. 2001-10-09 19:45:31 +00:00
mainzelm b92828ec10 Temporay (non-)fix for any. 2001-10-05 09:56:12 +00:00
mainzelm 6f9f0c34e2 Exported nonl-chars to rx-syntax to fix (rx nonl). 2001-10-05 09:48:26 +00:00
mainzelm 2359057f89 Fixed broken cre-search? interface. 2001-10-05 08:27:26 +00:00
mainzelm b5190d9c71 Avoid duplicate closing of fds that correspond to ports. 2001-10-03 17:09:15 +00:00
mainzelm b537e81a35 Test correctly for EBADF. 2001-10-03 14:44:45 +00:00
mainzelm 83644a3093 + Export process-sleep{-until}
+ Export run-as-long-as
2001-10-03 14:42:46 +00:00
mainzelm 9ec1d2ef5e Kill the administrative threads on error. 2001-10-03 14:41:01 +00:00
mainzelm 8c3cda1e0e Fixed bug in weak-table-walk. 2001-10-03 14:40:04 +00:00
mainzelm e2eeaa4789 Set $current-noise-port to null-output-port during switch evaluation. 2001-10-03 09:00:28 +00:00
mainzelm a6320a93a9 Fixed bug in uncase that prevented uncase from being pushed into submatches. 2001-10-02 17:29:48 +00:00
sperber 7633b231be Fix broken MATCH:END. 2001-10-01 15:19:08 +00:00
mainzelm a979e61ec1 Hygienic comparison for symbols. 2001-10-01 14:49:30 +00:00