mit-scheme.git
6 years agoImplement tagged-object primitives and open-code them in compiler.
Chris Hanson [Sat, 13 Jan 2018 05:03:03 +0000 (21:03 -0800)]
Implement tagged-object primitives and open-code them in compiler.

Also push record and tagged-object primitives into "boot" so they are available
early in the cold load.

6 years agoSimplify the story of tagging strategy.
Chris Hanson [Fri, 12 Jan 2018 07:47:18 +0000 (23:47 -0800)]
Simplify the story of tagging strategy.

It's still not quite right, but it is at least somewhat closer.

6 years agoUse macro to speed up implementations of record accessors.
Chris Hanson [Thu, 11 Jan 2018 07:54:03 +0000 (23:54 -0800)]
Use macro to speed up implementations of record accessors.

6 years agoRemove documentation for now-obsolete generic-procedure dispatch.
Chris Hanson [Thu, 11 Jan 2018 07:24:10 +0000 (23:24 -0800)]
Remove documentation for now-obsolete generic-procedure dispatch.

6 years agoSimplify predicate-tagging so that it provides only the essentials.
Chris Hanson [Thu, 11 Jan 2018 07:15:31 +0000 (23:15 -0800)]
Simplify predicate-tagging so that it provides only the essentials.

This too is subject to change.  The tagging strategy idea needs to be revisited
in a larger context since it doesn't account complex structures like records.

6 years agoEliminate record-entity names and support.
Chris Hanson [Thu, 11 Jan 2018 04:03:17 +0000 (20:03 -0800)]
Eliminate record-entity names and support.

6 years agoDelete some unnecessary procedures.
Chris Hanson [Thu, 11 Jan 2018 03:37:47 +0000 (19:37 -0800)]
Delete some unnecessary procedures.

6 years agoTweak dispatch-tag slightly.
Chris Hanson [Thu, 11 Jan 2018 03:19:58 +0000 (19:19 -0800)]
Tweak dispatch-tag slightly.

6 years agoPush definition of register-predicate! to beginning of cold load.
Chris Hanson [Wed, 10 Jan 2018 06:00:39 +0000 (22:00 -0800)]
Push definition of register-predicate! to beginning of cold load.

6 years agoEliminate use of record-specific printing registration.
Chris Hanson [Wed, 10 Jan 2018 05:02:06 +0000 (21:02 -0800)]
Eliminate use of record-specific printing registration.

6 years agoClean up the ad hoc handling of boot-time predicate registrations.
Chris Hanson [Wed, 10 Jan 2018 04:47:55 +0000 (20:47 -0800)]
Clean up the ad hoc handling of boot-time predicate registrations.

6 years agoUse weak hash tables for predicate lattice.
Chris Hanson [Wed, 10 Jan 2018 04:30:12 +0000 (20:30 -0800)]
Use weak hash tables for predicate lattice.

6 years agoEliminate unused (and not fully thought out) unregister-predicate!.
Chris Hanson [Wed, 10 Jan 2018 04:25:25 +0000 (20:25 -0800)]
Eliminate unused (and not fully thought out) unregister-predicate!.

6 years agoFix cold-load initialization so that predicate tag tables are built right.
Chris Hanson [Wed, 10 Jan 2018 04:06:58 +0000 (20:06 -0800)]
Fix cold-load initialization so that predicate tag tables are built right.

6 years agoThanks Joe! Fix thinko in code generation for define-structure.
Chris Hanson [Wed, 10 Jan 2018 04:06:27 +0000 (20:06 -0800)]
Thanks Joe!  Fix thinko in code generation for define-structure.

6 years agoRemove some unused and undocumented record-type accessors.
Chris Hanson [Tue, 9 Jan 2018 04:00:15 +0000 (23:00 -0500)]
Remove some unused and undocumented record-type accessors.

Included are record-type-extension, set-record-type-extension!,
set-record-type-default-inits!, and %set-record-type-default-inits!.

6 years agoMove srfi-1 support to beginning of cold load.
Chris Hanson [Tue, 9 Jan 2018 03:50:17 +0000 (22:50 -0500)]
Move srfi-1 support to beginning of cold load.

6 years agoMinor simplification.
Chris Hanson [Tue, 9 Jan 2018 03:05:52 +0000 (22:05 -0500)]
Minor simplification.

6 years agoMove dispatch-tag print method into gentag.scm.
Chris Hanson [Tue, 9 Jan 2018 03:01:58 +0000 (22:01 -0500)]
Move dispatch-tag print method into gentag.scm.

6 years agoEliminate special support for defstruct printers.
Chris Hanson [Tue, 9 Jan 2018 02:58:48 +0000 (21:58 -0500)]
Eliminate special support for defstruct printers.

In future just use define-unparser-method.

6 years agoSearch for root-level "build" directory when finding STAGE0.
Chris Hanson [Tue, 9 Jan 2018 02:06:30 +0000 (21:06 -0500)]
Search for root-level "build" directory when finding STAGE0.

6 years agoAdd optional argument to specify build directory.
Chris Hanson [Tue, 9 Jan 2018 02:00:30 +0000 (21:00 -0500)]
Add optional argument to specify build directory.

6 years agoImplement simple script to show all of the .crf files.
Chris Hanson [Tue, 9 Jan 2018 01:57:33 +0000 (20:57 -0500)]
Implement simple script to show all of the .crf files.

6 years agoMove all of the generic-procedure support from runtime into sos.
Chris Hanson [Tue, 9 Jan 2018 01:31:07 +0000 (20:31 -0500)]
Move all of the generic-procedure support from runtime into sos.

It's slated to be entirely replaced by predicate dispatchers.

6 years agoIgnore build directory called "build".
Chris Hanson [Mon, 8 Jan 2018 05:00:17 +0000 (00:00 -0500)]
Ignore build directory called "build".

6 years agoMake sure that a record's type name is an immutable string.
Chris Hanson [Sun, 7 Jan 2018 20:36:18 +0000 (15:36 -0500)]
Make sure that a record's type name is an immutable string.

6 years agoImplement string->immutable.
Chris Hanson [Sun, 7 Jan 2018 20:32:33 +0000 (15:32 -0500)]
Implement string->immutable.

6 years agoClean up handling of entities with records as extra.
Chris Hanson [Sun, 7 Jan 2018 20:28:40 +0000 (15:28 -0500)]
Clean up handling of entities with records as extra.

Implement record-entity? and record-entity-predicate.
Also clean up printing support for these.

6 years agoConvert record support to use new predicate dispatchers.
Chris Hanson [Sun, 7 Jan 2018 20:09:33 +0000 (15:09 -0500)]
Convert record support to use new predicate dispatchers.

6 years agoImplement real define-pp-describer.
Chris Hanson [Sun, 7 Jan 2018 19:45:40 +0000 (14:45 -0500)]
Implement real define-pp-describer.

6 years agoImplement real define-unparser-method.
Chris Hanson [Sun, 7 Jan 2018 19:38:44 +0000 (14:38 -0500)]
Implement real define-unparser-method.

6 years agoImplement define-unparser-method and define-pp-describer as deferred actions.
Chris Hanson [Sun, 7 Jan 2018 19:33:02 +0000 (14:33 -0500)]
Implement define-unparser-method and define-pp-describer as deferred actions.

6 years agoChange record to use predicate dispatchers instead of generics.
Chris Hanson [Sun, 7 Jan 2018 05:31:38 +0000 (00:31 -0500)]
Change record to use predicate dispatchers instead of generics.

6 years agoTweak.
Chris Hanson [Sun, 7 Jan 2018 04:48:55 +0000 (23:48 -0500)]
Tweak.

6 years agoChange predicate-dispatcher to be an entity.
Chris Hanson [Sun, 7 Jan 2018 04:36:05 +0000 (23:36 -0500)]
Change predicate-dispatcher to be an entity.

6 years agoFix compiler warning.
Chris Hanson [Sun, 7 Jan 2018 04:35:57 +0000 (23:35 -0500)]
Fix compiler warning.

6 years agoAdd two tests that were missing from known-tests.
Chris Hanson [Sun, 7 Jan 2018 04:35:07 +0000 (23:35 -0500)]
Add two tests that were missing from known-tests.

6 years agoImplement deferred boot actions and use them for the record.scm actions.
Chris Hanson [Sat, 6 Jan 2018 22:47:46 +0000 (17:47 -0500)]
Implement deferred boot actions and use them for the record.scm actions.

6 years agoEstablish an explicit booting? flag that controls boot inits.
Chris Hanson [Sat, 6 Jan 2018 22:45:59 +0000 (17:45 -0500)]
Establish an explicit booting? flag that controls boot inits.

6 years agoChange boot-time deferrals to use variable-setter.
Chris Hanson [Sat, 6 Jan 2018 21:29:19 +0000 (16:29 -0500)]
Change boot-time deferrals to use variable-setter.

6 years agoImplement variable-setter macro.
Chris Hanson [Sat, 6 Jan 2018 21:29:08 +0000 (16:29 -0500)]
Implement variable-setter macro.

6 years agoMust load host-adapter for syntax definitions when compiling.
Chris Hanson [Sat, 6 Jan 2018 21:28:38 +0000 (16:28 -0500)]
Must load host-adapter for syntax definitions when compiling.

6 years agoReorganize boot.scm into logical sections.
Chris Hanson [Sat, 6 Jan 2018 21:05:09 +0000 (16:05 -0500)]
Reorganize boot.scm into logical sections.

In preparation for new support to be added.

6 years agoEliminate less-than-useful comment.
Chris Hanson [Sat, 6 Jan 2018 04:18:50 +0000 (23:18 -0500)]
Eliminate less-than-useful comment.

6 years agoRewrite the bundle machinery to separate interface and predicate.
Chris Hanson [Sat, 6 Jan 2018 02:58:26 +0000 (21:58 -0500)]
Rewrite the bundle machinery to separate interface and predicate.

Change define-bundle-interface to require its definition names to be
spelled out in the definition rather than being constructed by the macro; the
result is much like define-record-type.

Change the bundle lookup to use a binary search rather than a linear search,
which will help when using large bundles.  Although we might want to have a more
flexible search strategy since it's not exposed to the end user.

Add support for pretty-printing bundles similarly to records.

6 years agoFix typo.
Chris Hanson [Sat, 6 Jan 2018 02:58:08 +0000 (21:58 -0500)]
Fix typo.

6 years agoRefactor record implementation to support setting descriptions during boot.
Chris Hanson [Sat, 6 Jan 2018 02:56:47 +0000 (21:56 -0500)]
Refactor record implementation to support setting descriptions during boot.

Also clean up the way boot deferrals are done to make this simpler.

6 years agoReimplement bundle printers to be more like other printers.
Chris Hanson [Fri, 5 Jan 2018 20:19:42 +0000 (15:19 -0500)]
Reimplement bundle printers to be more like other printers.

6 years agoSome name changes and small cleanups.
Chris Hanson [Fri, 5 Jan 2018 07:34:28 +0000 (02:34 -0500)]
Some name changes and small cleanups.

6 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Fri, 5 Jan 2018 07:12:22 +0000 (02:12 -0500)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

6 years agoFirst draft of "bundle" support.
Chris Hanson [Fri, 5 Jan 2018 07:11:29 +0000 (02:11 -0500)]
First draft of "bundle" support.

6 years agoAllow set-record-type-entity-unparser-method! to be used during cold load.
Chris Hanson [Fri, 5 Jan 2018 07:10:45 +0000 (02:10 -0500)]
Allow set-record-type-entity-unparser-method! to be used during cold load.

6 years agoFix emacs interface breakage caused by string rewrite.
Chris Hanson [Fri, 5 Jan 2018 07:10:08 +0000 (02:10 -0500)]
Fix emacs interface breakage caused by string rewrite.

6 years agoEliminate non-hygienic-macro-transformer.
Chris Hanson [Tue, 26 Dec 2017 19:03:52 +0000 (14:03 -0500)]
Eliminate non-hygienic-macro-transformer.

6 years agoEliminate unused inerly files.
Chris Hanson [Tue, 26 Dec 2017 06:23:52 +0000 (01:23 -0500)]
Eliminate unused inerly files.

6 years agoEliminate unused and unneeded definition-environment in syntaxer.
Chris Hanson [Tue, 26 Dec 2017 05:09:51 +0000 (00:09 -0500)]
Eliminate unused and unneeded definition-environment in syntaxer.

6 years agoFold over-long lines.
Chris Hanson [Tue, 26 Dec 2017 05:09:20 +0000 (00:09 -0500)]
Fold over-long lines.

6 years agoEliminate no-longer-used binding genrated by define-structure.
Chris Hanson [Tue, 26 Dec 2017 04:54:30 +0000 (23:54 -0500)]
Eliminate no-longer-used binding genrated by define-structure.

6 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Mon, 25 Dec 2017 01:21:01 +0000 (20:21 -0500)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

6 years agogdbm plugin: Add a manual, a translation of the gdbm texinfo manual.
Matt Birkholz [Sat, 23 Dec 2017 18:06:56 +0000 (11:06 -0700)]
gdbm plugin: Add a manual, a translation of the gdbm texinfo manual.

And take advantage of new Unicode string support in the FFI.

6 years agoffi: Peek C strings as non-legacy strings, else bytevectors.
Matt Birkholz [Sat, 23 Dec 2017 09:52:49 +0000 (02:52 -0700)]
ffi: Peek C strings as non-legacy strings, else bytevectors.

When the FFI peeks at a C string (ASCII and null terminated) it now
copies the characters into a ustring (rather than a deprecated legacy
string).  If the C string contains non-ASCII characters, the FFI
returns a bytevector, passing the decoding problem on to higher
levels, and avoiding an extra copy (from bytes to string) when no
translation is needed.

Add c-peek-csubstring, a version of c-peek-cstring that takes a byte
count and does NOT require the C string to be null terminated.

6 years agoSupport OR in syntax-check.
Chris Hanson [Thu, 21 Dec 2017 06:17:41 +0000 (22:17 -0800)]
Support OR in syntax-check.

6 years agoHandle case where XCode SDK doesn't match running OS.
Chris Hanson [Thu, 21 Dec 2017 06:17:13 +0000 (22:17 -0800)]
Handle case where XCode SDK doesn't match running OS.

6 years agoRestore SIGQUIT handler so I can enter breakpoints again.
Taylor R Campbell [Tue, 19 Dec 2017 14:53:44 +0000 (14:53 +0000)]
Restore SIGQUIT handler so I can enter breakpoints again.

6 years agoCall close-textual-in/output-port, not close-in/output-port.
Taylor R Campbell [Tue, 19 Dec 2017 14:15:22 +0000 (14:15 +0000)]
Call close-textual-in/output-port, not close-in/output-port.

Former is noop for non-input or non-output port; latter is error.

Fixes close-port on something that is only a textual input port or
only a textual output port.

6 years agoAvoid stack overflow with long responses.
Taylor R Campbell [Tue, 19 Dec 2017 14:14:46 +0000 (14:14 +0000)]
Avoid stack overflow with long responses.

6 years agoAdd blowfish-cbc tests.
Taylor R Campbell [Tue, 28 Nov 2017 06:10:17 +0000 (06:10 +0000)]
Add blowfish-cbc tests.

6 years agoAdd standard Blowfish tests.
Taylor R Campbell [Tue, 28 Nov 2017 05:08:59 +0000 (05:08 +0000)]
Add standard Blowfish tests.

7 years agoFix test failures caused when no support for non-standard fp traps.
Chris Hanson [Sat, 4 Nov 2017 05:06:05 +0000 (22:06 -0700)]
Fix test failures caused when no support for non-standard fp traps.

This is the case on macOS.

7 years agoSimplify previous fix to string-trimmer.
Chris Hanson [Sat, 4 Nov 2017 04:11:36 +0000 (21:11 -0700)]
Simplify previous fix to string-trimmer.

7 years agoFix warnings from macOS compiler.
Chris Hanson [Sat, 4 Nov 2017 04:01:55 +0000 (21:01 -0700)]
Fix warnings from macOS compiler.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Sat, 4 Nov 2017 03:23:59 +0000 (20:23 -0700)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoFix incorrect use of && where & should have been used.
Chris Hanson [Sat, 4 Nov 2017 03:23:26 +0000 (20:23 -0700)]
Fix incorrect use of && where & should have been used.

7 years agoIf n is zero, there will be no higher bits set; skip this test.
Taylor R Campbell [Sat, 4 Nov 2017 03:19:51 +0000 (03:19 +0000)]
If n is zero, there will be no higher bits set; skip this test.

7 years agoRip out microcode mhash module.
Taylor R Campbell [Sat, 4 Nov 2017 03:18:32 +0000 (03:18 +0000)]
Rip out microcode mhash module.

7 years agoEliminate optional mhash dependency in fasdump.c.
Taylor R Campbell [Sat, 4 Nov 2017 03:09:16 +0000 (03:09 +0000)]
Eliminate optional mhash dependency in fasdump.c.

7 years agoRip out vestiges of MD5 loadables.
Taylor R Campbell [Sat, 4 Nov 2017 03:01:46 +0000 (03:01 +0000)]
Rip out vestiges of MD5 loadables.

7 years agoEliminate MD5 as a loadable microcode module.
Taylor R Campbell [Sat, 4 Nov 2017 02:56:22 +0000 (02:56 +0000)]
Eliminate MD5 as a loadable microcode module.

Unconditionally include a new portable C implementation.

7 years agoFirst draft of SHA3-256 with minimal tests.
Taylor R Campbell [Fri, 3 Nov 2017 21:15:11 +0000 (21:15 +0000)]
First draft of SHA3-256 with minimal tests.

Probably full of fenceposts but this is all I have energy for at the
moment.

7 years agoblowfish plugin: Add texinfo manual, scraped from OpenSSL manpages.
Matt Birkholz [Thu, 2 Nov 2017 23:56:48 +0000 (16:56 -0700)]
blowfish plugin: Add texinfo manual, scraped from OpenSSL manpages.

7 years agox11/x11-base (->cstring): Convert 0 to the null pointer.
Matt Birkholz [Thu, 2 Nov 2017 16:12:30 +0000 (09:12 -0700)]
x11/x11-base (->cstring): Convert 0 to the null pointer.

7 years agopgsql plugin: typos, e.g. banish vagrant scminfodir.
Matt Birkholz [Thu, 2 Nov 2017 16:06:05 +0000 (09:06 -0700)]
pgsql plugin: typos, e.g. banish vagrant scminfodir.

7 years agoustring (string-trim): Handle strings trimmed to nothing.
Matt Birkholz [Thu, 2 Nov 2017 16:00:09 +0000 (09:00 -0700)]
ustring (string-trim): Handle strings trimmed to nothing.

Also added tests for string-trim.  Thanks to Peter <craven@gmx.net>.

7 years agoAdd common integer bit string ffs, fls, ctz, and clz.
Taylor R Campbell [Thu, 26 Oct 2017 22:13:56 +0000 (22:13 +0000)]
Add common integer bit string ffs, fls, ctz, and clz.

(ffs x): find first set, 1-indexed with 0 for 0
(fls x): find last set, 1-indexed with 0 for 0 (same as integer-length)
(ctz x): count trailing zeros (same as ffs)
((clz n) x): count leading zeros in n-bit word x

7 years agoFix typo: port/state should give the state, not the type.
Taylor R Campbell [Mon, 16 Oct 2017 14:35:03 +0000 (14:35 +0000)]
Fix typo: port/state should give the state, not the type.

Noted by ecraven.

7 years agoEliminate no-longer-used conditional.
Chris Hanson [Sun, 8 Oct 2017 00:41:40 +0000 (17:41 -0700)]
Eliminate no-longer-used conditional.

7 years agoFix typo when reading symbols without #!fold-case.
Chris Hanson [Fri, 6 Oct 2017 23:56:24 +0000 (16:56 -0700)]
Fix typo when reading symbols without #!fold-case.

7 years agox11: Ensure C strings are null terminated.
Matt Birkholz [Thu, 21 Sep 2017 22:25:47 +0000 (15:25 -0700)]
x11: Ensure C strings are null terminated.

7 years agogdbm: Ensure filename for do_gdbm_open is null terminated.
Matt Birkholz [Thu, 21 Sep 2017 22:21:15 +0000 (15:21 -0700)]
gdbm: Ensure filename for do_gdbm_open is null terminated.

7 years agomicrocode/cmpauxmd/i386.m4: typo
Matt Birkholz [Tue, 19 Sep 2017 03:15:00 +0000 (20:15 -0700)]
microcode/cmpauxmd/i386.m4: typo

7 years agoruntime/syncproc: Eliminate spinning, and blocking.
Matt Birkholz [Sat, 16 Sep 2017 22:06:17 +0000 (15:06 -0700)]
runtime/syncproc: Eliminate spinning, and blocking.

The run-shell-command spins when it is copying both stdin and stdout.
E.g.

    (call-with-input-string "Lorem ipsum dolor sit amet\n"
      (lambda (in)
(run-shell-command "sleep 10; cat" 'input in)))

will keep your machine busy for 10 seconds.

When it is not spinning, the procedure blocks for large bufferfuls.
During the evaluation of

    (run-shell-command
     "i=0; while [ $i -lt 5 ]; do echo $i; i=$[$i + 1]; sleep 1; done"
     'redisplay-hook flush-output-port)

you will not see 5 lines of output, one each second, but all 5 lines
at once after 5 seconds, despite the redisplay hook [Linux 4.10.0
glibc 2.24].

This new copying process eliminates the blocking AND the spinning.  It
keeps stdout in nonblocking mode and uses suspend-current-thread to
block.  It handles short writes too.  The ports sourcing/sinking
stdin/stdout are required to block.

7 years agomicrocode/cmpauxmd/x86-64.m4: Wordsmith commentary for specificity.
Matt Birkholz [Sat, 16 Sep 2017 22:37:22 +0000 (15:37 -0700)]
microcode/cmpauxmd/x86-64.m4: Wordsmith commentary for specificity.

7 years agomicrocode/debug: Add ustring support, Stack(), Print(), brevity.
Matt Birkholz [Sat, 16 Sep 2017 21:56:31 +0000 (14:56 -0700)]
microcode/debug: Add ustring support, Stack(), Print(), brevity.

Print is just the renamed Debug_Print, renamed for brevity in debugger
commands.  Rename do_printing to print_object and punt the detailed_p
parameter, and the gotos, and handled_p.  Move the bulky compiled
entry handling to a separate function: print_compiled_entry.  Punt
checking for a "closed" stack frame in verify_stack().

7 years agomicrocode: Do not save history_register locally.
Matt Birkholz [Sat, 16 Sep 2017 21:38:27 +0000 (14:38 -0700)]
microcode: Do not save history_register locally.

The required change to C_call_scheme is described but not implemented.
C_call_scheme has other problems(?).  Preferring a rotated history to
a broken history (broken by a GC during a callback) for now.

7 years agomicrocode: Restore frame pointer as well as stack pointer.
Matt Birkholz [Sat, 16 Sep 2017 21:36:58 +0000 (14:36 -0700)]
microcode: Restore frame pointer as well as stack pointer.

7 years agoffi: Follow example of C_call_scheme; eliminate aborts.
Matt Birkholz [Sat, 16 Sep 2017 22:19:27 +0000 (15:19 -0700)]
ffi: Follow example of C_call_scheme; eliminate aborts.

Keep callouts simple, fast.  Make callbacks save/restore machine state
(last_return_code, mainly) and use RC_END_OF_COMPUTATION instead of a
special primitive (return-to-c), like C_call_scheme.  Punt the
pop_return_p parameter of Interpret; instead, leave #f in EXP and
Re_Enter_Interpreter, also like C_call_scheme.  Add re_enter_scheme to
pop machine state pushed by abort_to_c (used when state cannot be
saved locally, as in the glib plugin's run_glib).

Add a gc-flip to the test callback.

7 years agoFix syncproc test to avoid bashism.
Taylor R Campbell [Tue, 12 Sep 2017 03:39:34 +0000 (03:39 +0000)]
Fix syncproc test to avoid bashism.

7 years agoAdd Keccak-f[1600] primitive operating on byte vectors.
Taylor R Campbell [Tue, 12 Sep 2017 03:34:42 +0000 (03:34 +0000)]
Add Keccak-f[1600] primitive operating on byte vectors.

Won't break any speed records with all the copying and byte order
conversion but will work at least and be handy for exploration.

7 years agoFix thinko in previous change.
Chris Hanson [Wed, 2 Aug 2017 02:31:22 +0000 (22:31 -0400)]
Fix thinko in previous change.

We want to close an I/O port when both channels are the same and the other one
is marked closed.

7 years agotests/runtime/test-syncproc: Enabled, with 3 more basic tests.
Matt Birkholz [Sun, 30 Jul 2017 23:08:33 +0000 (16:08 -0700)]
tests/runtime/test-syncproc: Enabled, with 3 more basic tests.