From fae0113a8f7b1b75df86e8c114e62f4d6ebe25ba Mon Sep 17 00:00:00 2001 From: Peter Colberg Date: Wed, 11 Jan 2023 14:58:29 -0500 Subject: [PATCH] acl_threadsupport: fix dead link to implementation reference --- .../include/acl_threadsupport/acl_threadsupport.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/acl_threadsupport/include/acl_threadsupport/acl_threadsupport.h b/lib/acl_threadsupport/include/acl_threadsupport/acl_threadsupport.h index 262f44f9..9c742a22 100644 --- a/lib/acl_threadsupport/include/acl_threadsupport/acl_threadsupport.h +++ b/lib/acl_threadsupport/include/acl_threadsupport/acl_threadsupport.h @@ -186,10 +186,10 @@ int acl_sem_destroy(acl_sem_t *sem); // The very tricky part is that the signaler can only use // semaphore-increment, and therefore *does not have a lock*. // -// See this Microsoft Research paper on how to implement condition -// variables with only semaphores -// http://research.microsoft.com/pubs/64242/implementingcvs.pdf -// It's veyr instructive, but we can't use its implementation because: +// See +// Andrew D. Birrell, Implementing Condition Variables with Semaphores (2003). +// https://web.archive.org/web/20091122223051/http://research.microsoft.com/pubs/64242/implementingcvs.pdf +// It's very instructive, but we can't use its implementation because: // - The signaler acquires a mutex // - It keeps an explicit linked list of waiters //