On Wed, 2012-04-18 at 01:20 +0100, Thomas Munro wrote:
On 17 April 2012 15:11, Stelian Ionescu sionescu@cddr.org wrote:
I'd like to, but what do we do for those implementations that don't support timeouts ?
I went through the existing implementations and googled for timeout variants of the mechanisms being used and found these:
ABCL: (threads:object-wait condition timeout) Allegro: ? Clisp: (mt:exemption exemption mutex :timeout timeout) Clozure: (ccl:timed-wait-on-semaphore semaphore timeout) CMUCL: ? Corman: ? ECL: (mp:condition-variable-timedwait condition mutex timeout) LispWorks simulated: ? LispWorks 6: (mp:condition-variable-wait condition mutex :timeout timeout) MCL: ? SBCL: (sb-thread:condition-wait condition mutex :timeout timeout) SCL: (thread:cond-var-timedwait condition mutex timeout)
I couldn't immediately grok those with question marks, but I suspect it's possible for most of them though. I hope someone who knows those systems can comment.
I don't have any suggestion on what to do if there is no implementation apart from the obvious and unsatisfactory 'raise an error at runtime'.
Then I'd be grateful if you could add timeout support and send us a patch :)