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 049b46c..9226fd4 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 db01d14..b649f7f 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1160,6 +1160,7 @@
 Eric Snow
 Dirk Soede
 Paul Sokolovsky
+Evgeny Sologubov
 Cody Somerville
 Edoardo Spadolini
 Clay Spence
diff --git a/Misc/NEWS b/Misc/NEWS
index dcd9754..3d9f24d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -68,6 +68,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.
+
 - Issue #18672: Fixed format specifiers for Py_ssize_t in debugging output in
   the _sre module.