* Nikodemus Siivola [2012-05-13 08:39] writes:
On 11 May 2012 21:09, Helmut Eller heller@common-lisp.net wrote:
What's the logic behind this change?
The purpose is to get rid of WITH-DEADLINE.
This seems overly pedantic to me.
You may not like the API,
Henceforth, I shall use all the APIs that I don't like, sir.
but unlike WITH-WORLD-LOCK it is actually a supported API
As well "supported" as the wonderful and thread-safe method dispatching. How long is the non-problem with the dispatch caches known? Months or years? When, if ever, will it be fixed? Ah I know: wishing for thread-safe dispatch caches is overly pedantic. Certainly it's more honorable to defend WITH-DEADLINE than to fix dispatch caches.
It's one of the three constructs that should almost never be used along with WITHOUT-GCING and WITH-TIMEOUT.
What should not be used: WITH-DEADLINE or WITH-WORLD-LOCK? Obviously WITH-WORLD-LOCK is one of the three bad guys. Unless we can't count, WITH-DEADLINE should be used gratuitously, or not.
Unless it made the sources too ugly, I would not hesitate to rename it %%WITH-WORLD-LOCK-INTERNAL-DONT-USE-AND-AVOID-EVEN-INSIDE-SBCL...
Sir shouldn't hesitate so long to put out an SBCL version with those damn dispatch caches fixed.
Helmut