Commit graph

40 commits

Author SHA1 Message Date
Alex Shinn
242ab2c8e6 Adding an explicit error for record rtd and constructor conflicts. 2013-04-05 20:22:46 +09:00
Alex Shinn
e281854483 SRFI-18 can now build without error for threadless builds, as an empty library.
Actually importing it in this case reports an error.
2013-02-27 20:58:44 +09:00
Alex Shinn
20c62ffe4a The global ABI error object needs to be an immediate, since if
the ABI is incompatible we can't even necessarily refer to a
global from within the bad library.
2013-02-10 16:38:18 +09:00
Alex Shinn
3e241e3a3e Simplifying scheduler case where the only available thread is waiting on a port.
Instead of a one-time poll, we just use the default small sleep + loop case,
so we use the normal poll next time through the scheduler.
This fixes a potential case where a lone thread waiting on I/O could hang,
discovered by Lorenzo.
2013-01-14 17:59:40 +09:00
Alex Shinn
da328bb88c Another thread patch from Lorenzo. If we're reduced to scheduling
a single thread blocked on an fd and the poll fails, optimistically
unblock it (so it can block again naturally), instead of just running
it still in a wait status.
2013-01-06 00:22:54 +09:00
Alex Shinn
f209c38f4f sexp_blocker can block on fileno objects 2012-12-31 00:25:13 +09:00
Alex Shinn
e4b86a5807 Updating SRFI-2 to support single variable references as clauses, and adding tests.
Also allowing empty bodies.  (I think both are terrible extensions.)
2012-12-15 13:06:32 +09:00
Alex Shinn
60690e303c Removing reference to digit-value. 2012-11-11 15:12:16 +09:00
Alex Shinn
6a0b9ee10b Allowing complex with #d prefix in srfi-38. 2012-11-04 00:42:23 +09:00
Alex Shinn
c55fa6fe4d Allowing fractions with prefixes in srfi-38. 2012-11-04 00:35:55 +09:00
Alex Shinn
5f323551c9 Fixing negative numbers with base prefixes in srfi-38. 2012-11-04 00:32:13 +09:00
Alex Shinn
195cbeca6d Fixing unquote-splicing in srfi-38. 2012-11-03 23:37:41 +09:00
Alex Shinn
90856b8de2 Adding bytevector support to srfi-38. 2012-11-03 23:35:37 +09:00
Alex Shinn
83a2de519c Fixing #| ... |# comments. 2012-11-03 23:29:13 +09:00
Alex Shinn
9cae7fada9 Supporting hex char escapes in extended reader. 2012-11-02 00:02:26 +09:00
Alex Shinn
08a5a2e0e8 Renaming the (scheme) library to (chibi). Leaving (scheme) as an alias for backwards compatibility. 2012-10-14 22:11:47 +09:00
Alex Shinn
3d161d4d2f If we are re-awakened waiting on a thread-join! but without timing out,
try to join again to make sure it's really dead.
2012-10-13 23:51:55 +09:00
Alex Shinn
35bfe1702b thread-sleep! and other timeouts now accept ratios 2012-09-17 15:11:05 +09:00
Alex Shinn
21d4fc670c fixing bug in scheduler queueing paused threads 2012-09-16 15:08:19 +09:00
Alex Shinn
fcaa906954 Another patch from Lorenzo for non-fixnum thread timeouts. 2012-09-03 20:17:46 +09:00
Alex Shinn
f6c3d1d415 adding file necessary for non-threaded parameters 2012-08-26 13:56:10 +09:00
Alex Shinn
4bd428da9e Unblock the current thread if it was waiting on an fd with activity.
Prevents useless extra polling slowing down the process as noted in issue #144.
2012-08-25 12:49:34 +09:00
Alex Shinn
b40370be52 thread-join! now returns the result or raises the exception of the joined thread 2012-08-15 21:23:39 +09:00
Alex Shinn
51c12f6115 If the only available thread is paused and we need to schedule it, remove it from the paused list.
Fixes issue #138 - otherwise the thread can be revived in the repl after we sleep.
2012-08-13 13:49:48 +00:00
Alex Shinn
736ff434e6 Updating srfi-38 to support writing labels only for values which cause cycles.
Also switching to srfi-69 for efficiency.
2012-08-12 21:28:36 +09:00
Alex Shinn
10b1110439 Fixing mutex-unlock! with paused thread waiting on mutex-lock! 2012-08-08 00:21:00 +09:00
Alex Shinn
3ee50bd0d7 length now requires a proper list.
It still accepts cyclic lists and returns #f, like SRFI-1 length+.
It's convenient to be able to accept improper lists (e.g. for
parameter lists), so the old behavior is available as length*.
Fixes issue #97.
2012-07-21 19:22:56 +09:00
Alex Shinn
a3daf9f728 don't check for a timeout on thread-join! unless one was specified 2012-07-21 18:46:56 +09:00
Alex Shinn
cdb8760fcc Need to unpause a paused thread if we want to terminate it. 2012-07-21 17:05:05 +09:00
Alex Shinn
0553dd41b9 Need to rename field parameter names in record constructors. 2012-07-16 22:49:48 +09:00
Alex Shinn
06d82e5695 fixing bignum integer-length for real 2012-06-10 23:06:44 +09:00
Alex Shinn
25247ee4b5 Fixing integer-length for bignums. 2012-06-07 00:48:43 +09:00
Alex Shinn
6ca990016a Fixing bug in bignum<->fixnum bitwise-[ix]or modifying inputs instead of outputs (oops). 2012-06-05 00:16:22 +09:00
Alex Shinn
fa0c699a6c Fixing unsigned integer bug in bit-set?. 2012-06-04 23:25:31 +09:00
Alex Shinn
befe63d6ba Using brace-notation for write/ss for records not containing any shares. 2012-06-02 20:11:54 +09:00
Alex Shinn
a56b497a00 fixing bug in srfi-38 for reading ellipsis 2012-05-23 23:27:02 +09:00
Alex Shinn
c8f13f8538 Adding (scheme cxr) library, removing all other references to c[ad]{3,4]r. 2012-05-20 15:16:11 +09:00
Alex Shinn
057f6b2dea Removing debug code not meant for commit. 2012-05-19 07:54:07 +09:00
Alex Shinn
a979e6ffcf bugfix for reading non-ascii chars 2012-05-19 07:52:17 +09:00
Alex Shinn
85a7efc003 automatically making sockets non-blocking on accept 2012-05-14 08:37:45 -04:00