mirror of
https://github.com/python/cpython.git
synced 2025-10-15 11:22:18 +00:00
bpo-45379: clarify FROZEN_EXCLUDED and FROZEN_INVALID documentation (GH-29189)
Signed-off-by: Filipe Laíns <lains@riseup.net> Co-authored-by: Łukasz Langa <lukasz@langa.pl>
This commit is contained in:
parent
e2e62b3808
commit
c2d0ba722a
1 changed files with 7 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue