[Bordeaux-threads-devel] with-timeout abstraction leaks a bit?

Martin Simmons martin at lispworks.com
Fri Dec 18 18:48:26 UTC 2009


>>>>> On Fri, 18 Dec 2009 08:34:15 -0800, Peter Seibel said:
> 
> I was using WITH-TIMEOUT the other day and it seems that it doesn't
> quite hide the underlying implementation quite enough: on SBCL it
> signals an SBCL-specific condition when it times out. Thus to handle
> the timeout you have to either handle that specific condition or
> something too broad (like CONDITION). Perhaps BT:WITH-TIMEOUT should
> handle the underlying condition and signal a BT-defined condition so
> this code can be written portably. I could provide a patch for SBCL
> (and probably Allegro) if folks think this is a good idea.

I think it would be better to remove WITH-TIMEOUT completely, because it is
too dangerous to use in production code.  It causes a throw from a random
point in the program, so there is no way to use it safely with UNWIND-PROTECT
without extra code to prevent that.

-- 
Martin Simmons
LispWorks Ltd
http://www.lispworks.com/




More information about the bordeaux-threads-devel mailing list