From: Nikodemus S. <nik...@ra...> - 2007-03-26 13:13:24
|
Brian Mastenbrook wrote: > Nikodemus Siivola wrote: >> * We can, however, gain a synchronous timeout ability by making various >> blocking functions have not just a :TIMEOUT parameter, but by making >> them also respect a global *DEADLINE*. I hesitate to say anything >> about properties of such synchronous timeouts, though. > What is your concern here about the properties of such timeouts? Just my ability to get details of stuff like this wrong the first time. I would like to say that they are well-behaved and can be unwound from safely, but I have no proof either way right now. > Regardless of whether async unwinds can be made safe, I think what you > describe is good global policy. For applications which call a number of > blocking APIs but are unconcerned with entering an infinite loop in Lisp > code, this is all the timeout machinery which is necessary. It would > probably be a good idea to expose the API used here so that FFI users > can respect these timeouts as well. I've a few thoughts here if others > are interested. I am! Cheers, -- Nikodemus |