Commit Graph

465 Commits

Author SHA1 Message Date
mainzelm f197f3b06c Minor fixes. 2002-06-26 11:56:14 +00:00
mainzelm d17a682498 Added scsh-version-string for internal use in top.scm. 2002-06-26 11:28:47 +00:00
mainzelm 4e5b87209d Added ignore-port-locks? flag to output-port-forcers and use it in
flush-all-ports-no-threads.
2002-06-26 11:25:33 +00:00
mainzelm 4e295e26d1 More about exit hooks. 2002-06-26 11:18:25 +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
mainzelm e710e9b121 Dynamically allocate space for symbolic link if MAXPATHLEN is not defined. 2002-06-10 08:47:48 +00:00
mainzelm 8d0a620457 + Spawn auto-reaping thread on root scheduler
+ Don't mark a child dead if it simply received SIGSTOP.
2002-06-10 08:38:57 +00:00
mainzelm 1585024cd4 Some minor improvements.
dump-libscsh-image is now the only export of the libscsh package.
2002-05-23 09:52:26 +00:00
mainzelm e8fe6105bf Use vsprintf if vasprintf is not available. 2002-05-23 09:51:24 +00:00
eknauel 6dd03e81a2 support for SQLNumResultCols and SQLDescribeCol 2002-05-21 13:48:47 +00:00
eknauel f70889ccc8 removed parameter 'direction' for odbc_sql_data_sources
support for SQLNumResultCols and SQLDescribeCol
2002-05-21 13:48:37 +00:00
eknauel 5ab07b6398 Renamed some confusing parameter names
Support for SQLEndTransaction
2002-05-17 12:22:15 +00:00
mainzelm aed248d24b First version of libscsh. 2002-05-16 14:50:46 +00:00
mainzelm dcebc64e8b Unify initialization of scsh-specific stuff. 2002-05-16 14:34:58 +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 73092cb733 Adjust the test for exec-path-list. 2002-05-10 07:24:37 +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 f5d958ac91 Added { and } to the characters to be quoted within literal strings. 2002-05-02 11:46:44 +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 6a80f8df7c Fixed return value of accept for AF_UNIX. 2002-04-28 18:26:44 +00:00
eknauel d2ce1ffa08 - new record type: sql-date (SQL_DATE_STRUCT)
- new record type: sql-time (SQL_TIME_STRUCT)
- new record type: sql-timestamp (SQL_TIMESTAMP_STRUCT)
- added type identifier for SQL_C_*-types and SQL_*-types
- import c-functions: odbc_sql_bind_parameter_exec_out, odbc_sql_execute, odbc_sql_execute_direct, odbc_sql_get_data, odbc_sql_fetch
2002-04-25 08:54:43 +00:00
eknauel d88ed1c5b8 - fixed silly +1/-1 offset bug in odbc_sql_bin_parameter_exec_out
- fixed matching of SQL types in odbc_sql_bin_parameter_exec_out
- added new functions for sql-time<->SQL_TIME_STRUCT conversion
- added new functions for sql-date<->SQL_DATE_STRUCT conversion
- added new functions for sql-timestamp<->SQL_TIMESTAMP_STRUCT conversion
- use functions for sql-time/sql-date/sql-timestamp conversion
- print more debug information in odbc_sql_bin_parameter_exec_out
- added function odbc_sql_execute_direct
- added function odbc_sql_get_data, check_sql_get_data_result
- added function odbc_sql_fetch
- odbc_debug_msgs: do not print native_error
- renamed function odbc_set_env_attr to odbc_sql_set_env_attr
2002-04-25 08:51:11 +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
mainzelm 0741f2df4d Small renaming of a structure. 2002-04-21 16:26:09 +00:00
mainzelm af015e52bf Bump the version number to 0.6.2. 2002-04-21 15:59:38 +00:00
eknauel 3b2dbc5f65 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 need
s to be implemented on top of the ODBC 3 API.
2002-04-21 08:56:53 +00:00
eknauel d21f901097 Tested partially: handle allocation, connection, prepare, execute
Missing: Support for SQLBindCol & several catalog functions. The scsh 0.53 API abstraction need
s to be implemented on top of the ODBC 3 API.
2002-04-21 08:56:02 +00:00
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