Commit Graph

390 Commits

Author SHA1 Message Date
eknauel 9b85dcf9da - represent handles as Scheme records of diffrent types
(environment-handle, connection-handle, statement-handle,
  database-handle)
- make ODBC functions these records
- Tons of constants for SQLGetInfo()
- get rid of some stupid pseudo-highlevel-ODBC-functions
2002-08-29 13:52:25 +00:00
eknauel 29115fc716 Scheme records for ODBC structures date, time, timestamp and numeric 2002-08-29 13:49:14 +00:00
eknauel 00dc5a0296 Don't call SQLGetDiagRec on SQL_ERROR return values, this causes
certain odbc drivers to crash.
2002-08-29 13:47:26 +00:00
mainzelm c8864c6c9a Remove duplicate initialization of cwd. 2002-08-27 16:46:02 +00:00
sperber 6eb3a1b0cc Obsolete. 2002-08-20 14:22:33 +00:00
sperber 33c14d7901 First stab at implementing SELECT/SELECT!:
- extend the VM interrupts to distinguish between read and write
  events
- add new ADD-PENDING-CHANNEL instruction to the VM
- add WAIT-FOR-CHANNELS procedure to the run-time system
- implement SELECT and SELECT! on top of that in newports.scm

This runs some basic tests, but in general should be considered
largely untested.

Moreover, SELECT/SELECT! never detect any exceptional conditions---the
returned vectors are always empty.  This is because the VM doesn't
really track those, and it's unclear whether it would be worth the
effort.
2002-08-20 14:03:01 +00:00
sperber ac343ba970 Replace Martin's implementation of selective blocking by the one in
Scheme 48 1.0.1.

Namely, instead of associating a list of queues with every thread, we
associate a single cell, holding the thread.  That cell is stored in
thread queues, and once a thread is made runnable again, the cell is
set to #f.  The thread-queue accessors ignore cells containing #f.

Implement an experimental OBTAIN-LOCK-MULTIPLE to test the whole
thing.
2002-08-16 14:11:50 +00:00
mainzelm 51230dfab1 Remove debugging message which isn't printed anyway. 2002-08-16 12:33:00 +00:00
mainzelm 4540ad4589 Don't call install-env when initializing scsh because this is already
done by a reinitializer in scsh.scm.
2002-08-16 12:12:31 +00:00
sperber 671f2c0181 Remove even more unneeded crud from utilities.scm. 2002-08-14 15:04:50 +00:00
sperber 8ebe0fe3f8 Obsolete. 2002-08-14 14:47:38 +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
sperber 7f1879b497 Remove the old LIST-LIB, STRING-LIB, and CHAR-SET-LIB libraries, now
that the corresponding SRFIs are in the Scheme 48 core.

All this hopefully preserving backwards compatibility.
2002-08-14 14:23:41 +00:00
sperber 4381ac9095 Add a whole bunch of S48_GC_PROTECT annotations in functions which
call s48_extract_integer.

s48_extract_integer can cause a callback for bignums, and, hence, heap
allocation.

This fixes a bug report by Seth Alves <alves@hungry.com> noting
spurious failures in SET-FILE-TIMES.
2002-08-13 15:46:17 +00:00
mainzelm d30130ab03 Deadlock-free resource locking. 2002-08-13 06:49:22 +00:00
eknauel f456608175 - record-types for sql-data, sql-time and sql-numeric
- tons of function ids for usage with SQLGetFunctions (sql-api-*)
- some key values for SQLGetInfo (sql-get-info-*). Need to be sorted (renamed?) by type of return value.
- minor code cleanups
2002-08-06 14:02:38 +00:00
eknauel 992bc80409 minor code clean-ups 2002-08-06 13:52:06 +00:00
mainzelm 96b40e8846 Fix to allow single character here strings. 2002-08-05 14:27:12 +00:00
mainzelm f172795016 Pass start argument of cre-search? to regexp-match. 2002-08-05 14:22:11 +00:00
mainzelm cad4096910 Finished implementation for pending interrupts. 2002-08-05 11:30:33 +00:00
mainzelm 66c2ae5d38 Check enabled interrupts before calling the handler. 2002-07-18 08:04:34 +00:00
mainzelm e74e23388e Initialize t.c_lflag before reading it.
Fixes #577473.
2002-07-04 16:46:23 +00:00
mainzelm b951e1c933 Use flush-all-ports-no-threads on exit. 2002-06-27 12:26:23 +00:00
mainzelm 1aadf4e87f Added md5 support. 2002-06-27 12:14:23 +00:00
mainzelm 16fdcca89f Imports and exports for scsh-top-package. 2002-06-26 12:19:04 +00:00
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