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 fdd0c5c..cb4e5f0 100644
--- a/Lib/uuid.py
+++ b/Lib/uuid.py
@@ -408,6 +408,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 e251596..6f2b3a7 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -970,6 +970,7 @@
 Rafal Smotrzyk
 Dirk Soede
 Paul Sokolovsky
+Evgeny Sologubov
 Cody Somerville
 Clay Spence
 Stefan Sperling
diff --git a/Misc/NEWS b/Misc/NEWS
index 9c0b13f..ea74d71 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -32,6 +32,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 #14971: unittest test discovery no longer gets confused when a function
   has a different __name__ than its name in the TestCase class dictionary.