Commit graph

14 commits

Author SHA1 Message Date
Alex Shinn
424efbe67a Closing a port should reset the offset and force an error on further access. 2015-01-22 18:10:46 +09:00
Alex Shinn
d3cbc89996 When a thread pauses on a buffered write-string, continue with a bytevector in case we cut in the middle of a char. 2015-01-17 19:00:27 +09:00
Alex Shinn
8dedc36609 For FFI setters/getters, don't set the type field length which has different assumptions.
Check the existence and length of the corresponding vector instead.
2015-01-03 23:43:02 -05:00
Alex Shinn
ba11e996e6 Adding bounds checking for slot-ref/set!. 2014-12-14 15:16:12 +09:00
Alex Shinn
b6f381151a slot-ref/slot-set! respect FFI getters and setters. 2014-12-13 16:11:19 +09:00
Alex Shinn
e0afb1df85 slot-ref and slot-set! accept field names in addition to positions 2014-11-24 19:45:31 +09:00
Alex Shinn
2c6ca1229d Boost fuel on sexp_apply_no_err_handler so we don't switch threads. 2014-11-16 13:49:23 +09:00
Alex Shinn
c0b9a213c9 Adding sexp_apply_no_err_handler utility and using in simplifier. 2014-11-11 22:28:12 +09:00
Alex Shinn
f759076d2b Binding a socket makes it non-blocking by default.
Allowing primitives (currently only send/receive) to block just once
with SEXP_G_IO_BLOCK_ONCE_ERROR.
2014-09-28 16:20:45 +09:00
Alex Shinn
fbacd0ff6d Adding non-blocking versions of send and receive. 2014-09-27 20:53:33 +09:00
Alex Shinn
72ce309918 generate_drop_prev shouldn't apply its optimization to arbitrary opcodes
returning void since some may be mutating.
2014-08-12 21:32:38 +09:00
Alex Shinn
6dfc5e9cfd Don't backtrack to remove bytecode if we're in aligned mode. 2014-07-31 22:41:42 +09:00
Alex Shinn
4495d00bf9 Fixing potential stack corruption in n-ary numeric inequalities. 2014-06-20 19:14:51 +09:00
Alex Shinn
8b5eb68238 File descriptors maintain a reference count of ports open on them
They can be close()d explicitly with close-file-descriptor, and
will close() on gc, but only explicitly closing the last port on
them will close the fileno.  Notably needed for network sockets
where we open separate input and output ports on the same socket.
2014-02-20 22:32:50 +09:00