Commit Graph

434 Commits

Author SHA1 Message Date
eknauel 570b5c11d2 Basic support for ODBC 3.0 API.
Tested partially: handle allocation, connection, prepare, execute
Missing: Support for SQLBindCol & several catalog functions. The scsh 0.53 API abstraction needs to be implemented on top of the ODBC 3 API.
2002-04-21 08:53:57 +00:00
mainzelm 0a8e312756 Compare symbols non-hygienic as well to support SREs within hygienic
macros.
2002-04-18 16:06:02 +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 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
mainzelm 8e233fbf1c Added missing export of regexp-fold-right. 2001-09-20 13:29:17 +00:00
mainzelm a2eb80d3fe Check string-length of bind-socket in Scheme. 2001-09-17 18:23:30 +00:00
mainzelm 925ca7b349 Use continuation-graft in import-os-error-syscall. 2001-09-17 15:30:12 +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 c47a141356 Let current-noise-port default to current-error port.
You won't get warnings from the type-checker or the modul system otherwise...
2001-09-12 15:11:42 +00:00
mainzelm f4bd5dfa85 Fixed bug in thread-change-resource (and thereby in chdir). 2001-09-12 14:43:19 +00:00
mainzelm f3e567e997 Initialize CWD on startup. 2001-09-12 14:29:03 +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 41b90aab2f Don't build with select for now. 2001-09-12 14:02:09 +00:00
mainzelm b4bfd0f96c No need to load define-foreign any more. 2001-09-12 13:57:37 +00:00
interp 6cecc55b4a Removing #include-line for machine/stdio_dep.h that does not exist anymore. 2001-09-12 12:50:04 +00:00
mainzelm 006c551429 + Decigged syscalls, sleep
+ Modified operations that work on file descriptors to allocate appropriate
  buffered ports.
2001-09-07 16:05:31 +00:00
mainzelm 572c01be18 Removed include of stdio_dep.h. 2001-09-07 15:58:05 +00:00
mainzelm 2a121e1f5a Added own init function. 2001-09-07 15:56:02 +00:00
mainzelm a36dbe8904 Decigged tty. 2001-09-07 15:17:54 +00:00
mainzelm e6ccf4cf1f Removed foreign statements. 2001-09-07 15:14:50 +00:00
mainzelm 9f119a5ef7 Decigged time. 2001-09-07 12:36:30 +00:00
mainzelm 4fbf89f9bb Removed .cvsignore. 2001-09-06 19:24:13 +00:00
mainzelm e4e0ba1e31 char_ready can be defined in terms of select, stream_char_ready is no longer needed, so there is nothing machine-specific left.
Therefore removed arch/stdio_dep.c/h and defined char_ready in syscalls.
2001-09-06 16:34:49 +00:00
sperber 00dbd6868f Obsolete. 2001-08-09 13:56:57 +00:00
sperber 6213213e14 Use Scheme 48 regexp code instead of ours. 2001-08-09 13:53:18 +00:00
sperber 34c5cd67bd From Scheme 48 0.57, extended by an optional START parameter for
REGEXP-MATCH.
2001-08-09 13:50:32 +00:00
mainzelm db5116e44a Removed forgotten cig stuff. 2001-08-08 12:53:24 +00:00
mainzelm 1a60632db8 Removed remaining define-foreign. Flock code is cig-less now. 2001-08-08 12:52:37 +00:00
mainzelm fa78232f3d Removed remaining define-foreign. Network code is cig-less now. 2001-08-08 11:54:04 +00:00
mainzelm c9d6b41e58 Removed bogus code. 2001-08-08 11:53:10 +00:00
mainzelm 327daeed32 Replaced most of define-foreign by
define-stubless-foreign/define-retrying-syscall in syscalls.scm.
2001-08-08 09:21:20 +00:00
mainzelm 10b97c9e82 Using /tmp in a test for chdir is a bad idea as it may be a link. 2001-08-08 08:44:43 +00:00
mainzelm c8464b5b39 Its now no-directory not not-directory in the source. 2001-08-08 08:39:52 +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
sperber 8726142251 Use a -1 value for tm_isdst to guess time zone if it's unspecified. 2001-07-11 13:08:52 +00:00
sperber a4a437484d Bug fix for WITH-SYSLOG-DESTINATION:
Properly take old syslog channel into account.
2001-07-11 11:21:18 +00:00
mainzelm 75fa4c1852 With-umask-align for the rest of the syscalls. 2001-07-10 14:52:57 +00:00
sperber 0a1e5ab9bb sch_ident may be copied to a different location by GC,
and openlog doesn't copy the input string, at least not
on every system.  That's just great.

So copy the ident to a local static string before calling openlog.
2001-07-10 12:56:25 +00:00
mainzelm a7227450ca Removed call/cc from handler of bind-listen-accept-loop: We want to
close the socket, but not prevent the exception to come through
(Otherwise you get 'interrupted on undefined globals...).
2001-07-10 11:26:54 +00:00
sperber e6a7699ef4 Bug fix for [...-] regexps. 2001-07-10 11:23:00 +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
mainzelm 3699917f70 + Added missing "unsigned" to make_addr.
+ Removed 0.5's cast to long for port number.
2001-07-07 19:32:51 +00:00
mainzelm 4351c22d9f + Added a simple version of weak-tables. Only tail weak for now.
+ Replaced forgotten vector-ref in newports.scm
2001-07-07 19:29:29 +00:00
sperber bae809c6ab Correct types for MATCH:START, MATCH:END, and MATCH:SUBSTRING. 2001-07-07 18:50:19 +00:00
uid35759 7228fc0e82 BIND-LISTEN-ACCEPT-LOOP: Close the socket when interrupted. 2001-07-04 11:54:41 +00:00
uid35759 9db99b091c Ignore ERRNO/CONNABORTED in BIND-LISTEN-ACCEPT-LOOP. 2001-07-04 11:26:15 +00:00
interp e381d4737e Correcting my mistake - last commit was bad. 2001-06-27 15:29:37 +00:00
interp 83ac8d21fd small error in CHANGE-SYSLOG-CHANNEL corrected. 2001-06-26 13:19:08 +00:00
sperber 2883063f65 Make the syslog subsystem resume correctly. 2001-06-22 15:50:10 +00:00
mainzelm 921ecb9320 Use a weak integer-table to store the fdports dropping the limit on
the number of ports (fixes #433867).
2001-06-21 08:30:51 +00:00