]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45379: clarify FROZEN_EXCLUDED and FROZEN_INVALID documentation (GH-29189)
authorFilipe Laíns <lains@riseup.net>
Fri, 29 Oct 2021 20:55:14 +0000 (21:55 +0100)
committerGitHub <noreply@github.com>
Fri, 29 Oct 2021 20:55:14 +0000 (22:55 +0200)
Signed-off-by: Filipe Laíns <lains@riseup.net>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Python/import.c

index 48ea9129163c89ede4c32e1d1def08036a037b18..cdcb903c8820705a81e2fa0e0204056ed6d95026 100644 (file)
@@ -1171,8 +1171,10 @@ typedef enum {
     FROZEN_BAD_NAME,    // The given module name wasn't valid.
     FROZEN_NOT_FOUND,   // It wasn't in PyImport_FrozenModules.
     FROZEN_DISABLED,    // -X frozen_modules=off (and not essential)
-    FROZEN_EXCLUDED,    // The PyImport_FrozenModules entry has NULL "code".
-    FROZEN_INVALID,     // The PyImport_FrozenModules entry is bogus.
+    FROZEN_EXCLUDED,    /* The PyImport_FrozenModules entry has NULL "code"
+                           (module is present but marked as unimportable, stops search). */
+    FROZEN_INVALID,     /* The PyImport_FrozenModules entry is bogus
+                           (eg. does not contain executable code). */
 } frozen_status;
 
 static inline void
@@ -1305,6 +1307,7 @@ find_frozen(PyObject *nameobj, struct frozen_info *info)
         return FROZEN_EXCLUDED;
     }
     if (p->code[0] == '\0' || p->size == 0) {
+        /* Does not contain executable code. */
         return FROZEN_INVALID;
     }
     return FROZEN_OKAY;
@@ -1315,6 +1318,7 @@ unmarshal_frozen_code(struct frozen_info *info)
 {
     PyObject *co = PyMarshal_ReadObjectFromString(info->data, info->size);
     if (co == NULL) {
+        /* Does not contain executable code. */
         set_frozen_error(FROZEN_INVALID, info->nameobj);
         return NULL;
     }
@@ -2214,6 +2218,7 @@ _imp_get_frozen_object_impl(PyObject *module, PyObject *name,
         info.nameobj = name;
     }
     if (info.size == 0) {
+        /* Does not contain executable code. */
         set_frozen_error(FROZEN_INVALID, name);
         return NULL;
     }