Re: On singleton modules, heap types, and subinterpreters

Petr Viktorin <[email protected]> Wed, 29 Jul 2015 22:01:42 +0200
Newsgroups gmane.comp.python.import
Message-ID <CA+=+wqBw9Dn3imEzdjYFVdPKQJd+GTJP8KsUgL1_MkFkK-3HyQ@mail.gmail.com>
T24gV2VkLCBKdWwgMjksIDIwMTUgYXQgODo1NyBQTSwgRXJpYyBTbm93IDxlcmljc25vd2N1cnJl
bnRseUBnbWFpbC5jb20+IHdyb3RlOgo+IE9uIEp1bCAyOSwgMjAxNSAxMjowNSBQTSwgIlBldHIg
VmlrdG9yaW4iIDxlbmN1a291QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Cj4+IE9uIFdlZCwgSnVsIDI5
LCAyMDE1IGF0IDc6NTMgUE0sIEVyaWMgU25vdyA8ZXJpY3Nub3djdXJyZW50bHlAZ21haWwuY29t
PiB3cm90ZToKPj4gPiBBbiBhbHRlcm5hdGl2ZSwgY291bGQgdGhlIG1vZHVsZSBpbnRyYS1kZXBl
bmRlbmNpZXMgYmUgYm91bmQgd2hlcmUgbmVlZGVkPwo+PiA+IEZvciBleGFtcGxlLCB3aXRoIF9j
c3YgY291bGQgRXJyb3IgYmUgYWRkZWQgdG8gcmVhZGVyLl9fZGljdF9fIChpLmUuIGJvdW5kCj4+
ID4gdG8gcmVhZGVyKT8KPj4KPj4gUHV0dGluZyBhIHJlZmVyZW5jZSB0byB0aGUgbW9kdWxlIG9u
ICpjbGFzc2VzKiBpcyBub3QgYSBwcm9ibGVtLgo+PiBHZXR0aW5nIGEgcmVmZXJlbmNlIHRvIHRo
ZSBtb2R1bGUgZnJvbSBub3JtYWwgbWV0aG9kcyBzaG91bGQgYWxzbyBub3QKPj4gYmUgdGhhdCBo
YXJkLgo+Pgo+PiBUaGUgaGFyZCBwYXJ0IGlzIHNwZWNpYWwgbWV0aG9kcywgbGlrZSB0cF9pdGVy
LCB3aGljaCBvbmx5IGdldCAic2VsZiIKPj4gYXMgYW4gYXJndW1lbnQsIGF0IHRoZSBDIGxldmVs
LiBUaGVyZSdzIG5vIGluZm9ybWF0aW9uIGFib3V0IHdoaWNoCj4+IChzdXBlciljbGFzcyB0aGUg
bWV0aG9kIGlzIGRlZmluZWQgaW4uCj4KPiBUaGUgc2xvdCBtZXRob2RzIHdvdWxkIGhhdmUgdG8g
ZG8gYHR5cGUoc2VsZikuPCJnbG9iYWwiPmAsIHdoaWNoIGlzCj4gd2hhdCBhbnkgb3RoZXIgbWV0
aG9kIHdvdWxkIGRvLiAgU28gaW4gdGhlIHJlbGV2YW50IF9jc3YucmVhZGVyCj4gbWV0aG9kcyB3
ZSB3b3VsZCB1c2UgdGhlIGVxdWl2YWxlbnQgInR5cGUoc2VsZikuRXJyb3IiIHdoZXJlIG5lZWRl
ZC4KCldlIG5lZWQgdGhlIGNsYXNzIHRoYXQgZGVmaW5lcyB0aGUgbWV0aG9kLiB0eXBlKHNlbGYp
IG1pZ2h0IHJldHVybiBhCnN1YmNsYXNzIG9mIHRoYXQuIFNvIHdlIGVpdGhlciBuZWVkIHRvIHdh
bGsgdGhlIE1STyB1bnRpbCB0aGUgZGVmaW5pbmcKY2xhc3MgaXMgZm91bmQsIG9yIHVzZSBOaWNr
J3MgbWVjaGFuaXNtIGFuZCByZWNvcmQgdGhlIGRlZmluaW5nIGNsYXNzCmZvciBlYWNoIHJlbGV2
YW50IHNwZWNpYWwgbWV0aG9kLgoKPiBMZXQgbWUgbWFrZSBzdXJlIEkgdW5kZXJzdGFuZCB0aGUg
cHJvYmxlbSBiZWZvcmUgSSBzYXkgYW55dGhpbmcgbW9yZS4KPiA6KSAgSW4gUHl0aG9uIGVhY2gg
ZnVuY3Rpb24gaGFzIF9fZ2xvYmFsc19fIGFuZCBfX2Nsb3N1cmVfXyB0aGF0Cj4gcHJvdmlkZSBl
eHRlcm5hbGx5IHNjb3BlZCBvYmplY3RzIGZvciB1c2Ugd2l0aGluIHRoZSBmdW5jdGlvbi4gIElu
IEMKPiBleHRlbnNpb24gZnVuY3Rpb25zIG5laXRoZXIgZXhpc3RzLiAgSXMgdGhhdCByaWdodD8g
IChPciBpcyB0aGF0IHNvcnQKPiBvZiB3aGF0IFB5U3RhdGVfRmluZE1vZHVsZSBpcyBzdXBwb3Nl
ZCB0byBmYWNpbGl0YXRlPykKCkZvciBleHRlbnNpb24gZnVuY3Rpb25zLCB5b3UgY2FuIGNob29z
ZSBmcm9tIGEgdmFyaWV0eSBvZiBjYWxsaW5nCm1lY2hhbmlzbXMgdGhhdCBldm9sdmVkIG92ZXIg
dGhlIHllYXJzOiBwb3NpdGlvbmFsIGFyZ3Mgb25seSB2cy4Ka2V5d29yZCBhcmdzOyBhbmQgZnVu
Y3Rpb25zL25vcm1hbCBtZXRob2RzL2NsYXNzIG1ldGhvZHMgZGVwZW5kaW5nIG9uCnRoZSAic3Bl
Y2lhbCIgYXJndW1lbnQgKGluc3RhbmNlL2NsYXNzKSB0aGV5IGdldC4KQWRkaW5nIGFuIGV4dHJh
IGNsYXNzIGFyZ3VtZW50IHdvdWxkbid0IGJlIHRvbyBtdWNoIG9mIGEgcHJvYmxlbSwgYW5kCm5l
aXRoZXIgd291bGQgcG9wdWxhdGluZyBpdC4KClRoZSBwcm9ibGVtIGlzIHdpdGggc3BlY2lhbCBt
ZXRob2RzLCBsaWtlIHRwX2l0ZXIgd2hvc2Ugc2lnbmF0dXJlIGlzOgogICAgUHlPYmplY3QgKml0
ZXIoUHlPYmplY3QgKnNlbGYpCndpdGggbm8gd2F5IHRvIHBhc3MgaW4gdGhlIGRlZmluaW5nIGNs
YXNzIG9yIG1vZHVsZS4gQXMgSSBzYWlkCmFib3ZlLCB0eXBlKHNlbGYpIHdpbGwgbm90IGFsd2F5
cyBnaXZlIHRoZSBjbGFzcyB3aGVyZSB0cF9pdGVyIHdhcwpkZWZpbmVkIOKAkyBhbmQgd2UgbmVl
ZCB0aGUgbW9kdWxlIG9mIHRoZSBkZWZpbmluZyBjbGFzcy4KVGhhdCBpcyB0aGUgbWlzc2luZyBs
aW5rLiBHZXR0aW5nIGEgbW9kdWxlIHJlZmVyZW5jZSB0byBldmVyeXRoaW5nCmV4Y2VwdCB0aGUg
c3BlY2lhbCBtZXRob2RzIGlzIHJlbGF0aXZlbHkgc3RyYWlnaHRmb3J3YXJkLgoKWy4uLl0KPiBI
b3dldmVyLCBpdCBzb3VuZHMgbGlrZSB5b3UncmUgc3VnZ2VzdGluZyB0aGF0IFB5U3RhdGVfRmlu
ZE1vZHVsZQo+IHNob3VsZCBiZSBmaXhlZCwgcmVwbGFjZWQsIG9yIHN1cHBsZW1lbnRlZCwgYXNz
dW1pbmcgSSd2ZSB1bmRlcnN0b29kCj4gY29ycmVjdGx5IHRoYXQgaXQncyBwYXJ0IG9mIHRoZSBw
cm9ibGVtIGhlcmUuICBJJ2Qgc2F5IGl0IGRlcGVuZHMgb24KPiB0aGUgYWN0dWFsIGltcGFjdCBv
ZiB0aGUgbGFjayBvZiBpbXBsaWNpdCBQeXRob24tbGV2ZWwgc2NvcGluZy9sb29rdXAKPiBpbiBD
IGV4dGVuc2lvbiBmdW5jdGlvbnMvbWV0aG9kcy4KClB5U3RhdGVfRmluZE1vZHVsZSBieXBhc3Nl
cyB0aGUgbmVlZCBmb3IgcGFzc2luZyBhIG1vZHVsZSByZWZlcmVuY2UKYXJvdW5kOiB5b3UgZ2l2
ZSBpdCBhIFB5TW9kdWxlRGVmIChzdGF0aWMgZGF0YSBmcm9tIHdoaWNoIGEgbW9kdWxlIGlzCmNv
bnN0cnVjdGVkKSwgYW5kIGZyb20gdGhhdCBpdCBsb29rcyB1cCB0aGUgY29ycmVzcG9uZGluZyBt
b2R1bGUgaW4KY3VycmVudCBzdWJpbnRlcnByZXRlciBzdGF0ZS4KVGhpcyAgYXNzdW1lcyB0aGUg
c2FtZSBzZXQgb2YgbW9kdWxlcyBpcyBsb2FkZWQgaW4gZXZlcnkKc3ViaW50ZXJwcmV0ZXIuIChP
ciBhdCBsZWFzdCB0aGF0IHRoZSByZXF1aXJlZCBtb2R1bGUgaXMgbG9hZGVkIGluIHRoZQpjdXJy
ZW50IHN1YmludGVycHJldGVyLikKSWYgd2Ugd2FudCB0byBzdXBwb3J0IHN1YmludGVycHJldGVy
cyBzYWZlbHksIFB5U3RhdGVfRmluZE1vZHVsZSBtdXN0IGdvLgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbXBvcnQtU0lHIG1haWxpbmcgbGlzdApJbXBv
cnQtU0lHQHB5dGhvbi5vcmcKaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbi9saXN0aW5m
by9pbXBvcnQtc2lnCg==