Alex Shinn
b10cb94e17
Reset the current parameters in child threads.
...
This is simple and fast. Inheriting all threads causes immediate
problems with exception handlers, and in general should use
copy-on-write behavior so that child threads can't affect parents. If
we make an eager copy of the parameters we can filter out just the
exception handler, but then thread creation is expensive. The ideal
design might allow selectively enabling parameter inheritance.
2013-05-29 20:40:48 +09:00
Alex Shinn
86cc80f67f
Patch from Lorenzo to fix previous incomplete patch.
2013-05-28 19:53:14 +09:00
Alex Shinn
dde47a7846
Setting new thread's dynamic wind state to a fresh root.
2013-05-27 22:23:54 +09:00
Alex Shinn
99c8992207
make-thread no longer needs to reset the dynamic continuation
2013-05-26 08:58:19 +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
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
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
cdb8760fcc
Need to unpause a paused thread if we want to terminate it.
2012-07-21 17:05:05 +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