Commit Graph

36 Commits

Author SHA1 Message Date
shivers 00af71f77d There was a weird bug in the GC system. The image-writing code causes a
GC to assemble a compacted heap image in newspace which it then writes out
to disk. Then the VM calls ABORT-GC to cancel the GC operation, which scans
the current space, fixing up the "broken hearts" -- restoring word 1 of
each structure that got clobbered with a forwarding pointer.

Unfortunately, someone (possibly myself) had inserted a post_gc_fdports() call
into the VM between the gc and the abort. This procedure updates a C vector of
Scheme values (fdports[]) by following forwarding pointers -- BUT -- in this
instance we didn't really want to break hearts, and the abort-gc code didn't
know about the fdports[] vector, so it couldn't undo the effects. This caused
the fdports[] vec to point into hyperspace after the image dump, and *that*
meant on the next GC, all the live ports were considered dead. Oops.

The fix was to remove this bogus call. The post_gc_fdports() proc is now
called only after a *real* GC.
    -Olin
1995-10-29 15:45:22 +00:00
shivers 579ee12924 Completely redesigned meta-arg syntax. 1995-10-29 11:43:42 +00:00
shivers 737ebc5afe Added SET-CURRENT-INPUT-PORT! and friends.
Rehacked stdio/stdport sync procedures.
1995-10-28 22:12:17 +00:00
shivers dce0dc36cd Time args to SELECT and SET-FILE-TIMES can now be reals. 1995-10-28 22:07:16 +00:00
shivers 05df0d4773 file-writeable => file-writable 1995-10-28 22:04:58 +00:00
shivers 325407b9fb Fixed optional-arg bug in open-control-tty. 1995-10-27 11:47:53 +00:00
shivers 79ee1de13c Simplified interface a bit. 1995-10-27 08:58:58 +00:00
shivers bd91c003cc fork-job/pty => fork-pty-session.fork-pty-session now closes pty port in child. 1995-10-27 08:57:10 +00:00
shivers abe91e9fd9 fork-job/pty => fork-pty-session 1995-10-27 08:56:25 +00:00
shivers 52061b82bd Added pty support. 1995-10-26 20:43:45 +00:00
shivers a991a0a4e6 Added pty stuff, select!, become-session-leader, copy-vector, and
process-related tty stuff.
1995-10-26 20:42:35 +00:00
shivers 6ff4d51074 Moved set/get tty process group code to tty.scm.
Added open-control-tty.
1995-10-26 20:37:35 +00:00
shivers b453a05b92 Added open-control-tty. 1995-10-26 20:36:37 +00:00
shivers 16a701b470 Added pty code to scsh. 1995-10-26 20:35:21 +00:00
shivers 112a51bd10 Added copy-vector. 1995-10-26 20:29:22 +00:00
shivers e7460b6e74 Completely rewrote the interface.
- Added SELECT! procedure.
- Fixed bug in SELECT -- it was side-effecting its parameters.
1995-10-26 13:48:14 +00:00
shivers 80adbe0761 Moved set/get tty process group code to tty.scm. 1995-10-26 13:36:46 +00:00
shivers ef473e636e Fixed error case + minor cleanup. 1995-10-26 13:36:23 +00:00
shivers 4b080b5a28 minor cleanup 1995-10-26 13:36:06 +00:00
shivers f244b7532f Added BECOME-SESSION-LEADER. 1995-10-26 13:35:40 +00:00
shivers 4ae0a89c53 Now imports machine/stdio_dep.h interface spec. 1995-10-26 13:34:33 +00:00
shivers bc338f2d53 really-fork/pipe was binding PROC but testing PID -- bug. Changed PID to PROC. 1995-10-26 10:46:07 +00:00
shivers d6c6a3030f Added include-file interface for stdio_dep.c 1995-10-25 11:37:40 +00:00
shivers 2ccc95ff78 filter-weak-ptr-list had args to reduce in wrong order. 1995-10-25 07:44:25 +00:00
shivers 7d810091d8 Commented out module-loading print statements that were vestigial debugging
cruft.
1995-10-22 13:14:17 +00:00
shivers 7c90829350 Added a whole bunch of .h files describing the module structure of the C
files. These files mostly mediate between the C source (export) and
the corresponding C stub files (import) generated by the Scheme files
calling the C routines.

This provided much better argument type checking that before; lots of
small bugs were caught.

Also added const keywords wherever I could find a reasonable place
to improve error detection and efficiency.

Tuned up the makefile to reflect all of this structure. Its dependencies
were pretty out-of-date as it was. It could probably use further work.
1995-10-22 12:34:53 +00:00
shivers 7d2447407a Renamed userinfo.c to userinfo1.c 1995-10-22 11:04:17 +00:00
shivers b7bdb8528f Killed dangling cig stub. 1995-10-22 10:06:54 +00:00
shivers 083b345c2e Renamed rescm.c to re1.c 1995-10-22 10:05:39 +00:00
shivers 3e52c5100b - Fixed errno-error calls to include the syscall's args. This should greatly
improve the quality of the error messages.

- Fixed file-match so that if a filter procedure raises an error condition,
  it is caught and treated as a match failure (as if the procedure returned
  #f). This means you no longer get blown out of the water by
    (file-match "." #f file-directory?)
  if the cwd contains a dangling symlink, for example.

- Added set-file-times (utime).

- Caught a bug in an unused arm of the define-errno-syscall macros (rest arg
  case).

- Perhaps one or two other minor tweaks.
1995-10-21 12:07:25 +00:00
shivers 241344c36b - Tweaked the names of the named constants in the tty interface. 1995-10-21 09:25:15 +00:00
shivers 0644d18c53 - Added (Cig-generated) file tty.c to list of maintained files.
- Tweaked the names of the named constants in the tty interface.
1995-10-21 09:24:26 +00:00
shivers 92b6357605 Hacked tty stuff; added .cvsignore files. 1995-10-19 08:22:56 +00:00
shivers 195691c438 *** empty log message *** 1995-10-17 04:33:40 +00:00
shivers 0ae16c8daa Renamed tc* to tty*, and rehacked extensively. 1995-10-16 22:19:16 +00:00
bdc 2302efe24e *** empty log message *** 1995-10-14 03:34:21 +00:00