Just Launched: You can now import projects and releases from Google Code onto SourceForge
We are excited to release new functionality to enable a 1-click import from Google Code onto the Allura platform on SourceForge. You can import tickets, wikis, source, releases, and more with a few simple steps. Read More
Sam Steingold writes:
> maybe we should treat every use of with-timeout as a missing
> feature in clisp?
To me it still seems very reasonable to use timeout for generating
results of a web query. And I don't see how this could be viewed
as a missing feature any more specific than with-timeout.
It occurs to me that the current implementation of with-timeout really
is independent of MT. (I had initially imagined that it was
implemented in terms of a separate sleeping thread that interrupted
the thread doing the time limited computation.)
If I am correct that it's not too hard, I suggest that with-timeout be
moved into the non-MT version.
I've not heard reactions to my arguments that even in non-MT it seems
very useful (maybe even necessary) to add with-deferred-abort, making
attempts to abort from inside generate cerror (which if continued
will abort anyway), and possibly also
- debugger should tell you on entry that you're in deferred abort
- ability to continue until leaving the innermost with-deferred-abort
From: Vladimir Tzankov <vtzankov@gm...> - 2009-02-27 13:58:15
On Fri, 27 Feb 2009 10:43:12 +0200, Don Cohen
> It occurs to me that the current implementation of with-timeout really
> is independent of MT. (I had initially imagined that it was
> implemented in terms of a separate sleeping thread that interrupted
> the thread doing the time limited computation.)
> If I am correct that it's not too hard, I suggest that with-timeout be
> moved into the non-MT version.
You are right - the implementation is not dependant on threads. However it
uses POSIX signals - which are handled differently in MT builds. That is
not to say that it cannot be provided in single thread builds as well -
just it is not so straightforward.