Issue #18784: The uuid module no more attempts to load libc via ctypes.CDLL,
if all necessary functions are already found in libuuid.
Patch by Evgeny Sologubov.
diff --git a/Lib/uuid.py b/Lib/uuid.py
index 484a231..93254ec 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -429,6 +429,8 @@
             _uuid_generate_random = lib.uuid_generate_random
         if hasattr(lib, 'uuid_generate_time'):
             _uuid_generate_time = lib.uuid_generate_time
+            if _uuid_generate_random is not None:
+                break  # found everything we were looking for
 
     # The uuid_generate_* functions are broken on MacOS X 10.5, as noted
     # in issue #8621 the function generates the same sequence of values
diff --git a/Misc/ACKS b/Misc/ACKS
index 9d0dc46..be488d6 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1199,6 +1199,7 @@
 Eric Snow
 Dirk Soede
 Paul Sokolovsky
+Evgeny Sologubov
 Cody Somerville
 Edoardo Spadolini
 Clay Spence
diff --git a/Misc/NEWS b/Misc/NEWS
index 23035d2..556dca2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,10 @@
 Library
 -------
 
+- Issue #18784: The uuid module no more attempts to load libc via ctypes.CDLL,
+  if all necessary functions are already found in libuuid.
+  Patch by Evgeny Sologubov.
+
 - The :envvar:`PYTHONFAULTHANDLER` environment variable now only enables the
   faulthandler module if the variable is non-empty. Same behaviour than other
   variables like :envvar:`PYTHONDONTWRITEBYTECODE`.