Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
python39
gh-78214-marshal_stabilize_FLAG_REF.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gh-78214-marshal_stabilize_FLAG_REF.patch of Package python39
From 6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d Mon Sep 17 00:00:00 2001 From: Inada Naoki <songofacandy@gmail.com> Date: Sat, 14 Jul 2018 00:46:11 +0900 Subject: [PATCH] Use FLAG_REF always for interned strings --- Python/marshal.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) --- a/Python/marshal.c +++ b/Python/marshal.c @@ -298,9 +298,14 @@ w_ref(PyObject *v, char *flag, WFILE *p) if (p->version < 3 || p->hashtable == NULL) return 0; /* not writing object references */ - /* if it has only one reference, it definitely isn't shared */ - if (Py_REFCNT(v) == 1) + /* If it has only one reference, it definitely isn't shared. + * But we use TYPE_REF always for interned string, to PYC file stable + * as possible. + */ + if (Py_REFCNT(v) == 1 && + !(PyUnicode_CheckExact(v) && PyUnicode_CHECK_INTERNED(v))) { return 0; + } entry = _Py_hashtable_get_entry(p->hashtable, v); if (entry != NULL) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor