Re: On singleton modules, heap types, and subinterpreters
Petr Viktorin <[email protected]> Thu, 30 Jul 2015 10:01:53 +0200
| Newsgroups | gmane.comp.python.import |
|---|---|
| Message-ID | <CA+=+wqB+QA2eQHxVAMqpurmfmU5dfp0KwkPZ3ffwCyebeYPFzQ@mail.gmail.com> |
T24gV2VkLCBKdWwgMjksIDIwMTUgYXQgMTE6MDAgUE0sIEVyaWMgU25vdyA8ZXJpY3Nub3djdXJy ZW50bHlAZ21haWwuY29tPiB3cm90ZToKPiBPbiBXZWQsIEp1bCAyOSwgMjAxNSBhdCAyOjAxIFBN LCBQZXRyIFZpa3RvcmluIDxlbmN1a291QGdtYWlsLmNvbT4gd3JvdGU6Cj4+IE9uIFdlZCwgSnVs IDI5LCAyMDE1IGF0IDg6NTcgUE0sIEVyaWMgU25vdyA8ZXJpY3Nub3djdXJyZW50bHlAZ21haWwu Y29tPiB3cm90ZToKPj4+IFRoZSBzbG90IG1ldGhvZHMgd291bGQgaGF2ZSB0byBkbyBgdHlwZShz ZWxmKS48Imdsb2JhbCI+YCwgd2hpY2ggaXMKPj4+IHdoYXQgYW55IG90aGVyIG1ldGhvZCB3b3Vs ZCBkby4gIFNvIGluIHRoZSByZWxldmFudCBfY3N2LnJlYWRlcgo+Pj4gbWV0aG9kcyB3ZSB3b3Vs ZCB1c2UgdGhlIGVxdWl2YWxlbnQgInR5cGUoc2VsZikuRXJyb3IiIHdoZXJlIG5lZWRlZC4KPj4K Pj4gV2UgbmVlZCB0aGUgY2xhc3MgdGhhdCBkZWZpbmVzIHRoZSBtZXRob2QuIHR5cGUoc2VsZikg bWlnaHQgcmV0dXJuIGEKPj4gc3ViY2xhc3Mgb2YgdGhhdC4gU28gd2UgZWl0aGVyIG5lZWQgdG8g d2FsayB0aGUgTVJPIHVudGlsIHRoZSBkZWZpbmluZwo+PiBjbGFzcyBpcyBmb3VuZCwgb3IgdXNl IE5pY2sncyBtZWNoYW5pc20gYW5kIHJlY29yZCB0aGUgZGVmaW5pbmcgY2xhc3MKPj4gZm9yIGVh Y2ggcmVsZXZhbnQgc3BlY2lhbCBtZXRob2QuCj4KPiBJZiB5b3UgZXhwbGljaXRseSBiaW5kIHRo ZSBtb2R1bGUtc2NvcGVkIG9iamVjdCB0byB0aGUgY2xhc3MgdGhhdAo+IG5lZWRzIGl0LCB0aGVu IHRoZSBtZXRob2RzIG9mIHRoYXQgY2xhc3MgY2FuIGFjY2VzcyBpdC4gIFRoZXJlJ3Mgbm8KPiBu ZWVkIGZvciBhbnl0aGluZyBtb3JlIGNvbXBsaWNhdGVkIChldmVuIGZvciB0eXBlIHNsb3QgbWV0 aG9kcykuICBJbgo+IFB5dGhvbiBpdCB3b3VsZCBsb29rIGxpa2UgdGhpczoKPgo+ICAgICBjbGFz cyBFcnJvcihFeGNlcHRpb24pOgo+ICAgICAgICAgLi4uCj4KPiAgICAgY2xhc3MgU3BhbToKPiAg ICAgICAgIEVycm9yID0gRXJyb3IKPiAgICAgICAgIGRlZiBmYWlsKHNlbGYpOgo+ICAgICAgICAg ICAgICMgTG9vayB1cCBFcnJvciBvbiBTcGFtIGluc3RlYWQgb2YgZnJvbSBnbG9iYWxzKCkuCj4g ICAgICAgICAgICAgcmFpc2UgdHlwZShzZWxmKS5FcnJvcigpCj4KPiBXZSBjb3VsZCBldmVuIGdl dCBtb3JlIGdlbmVyaWMgYWJvdXQgaXQ6Cj4KPiAgICAgY2xhc3MgU3BhbToKPiAgICAgICAgIF9f Z2xvYmFsc19fID0gZ2xvYmFscygpCj4gICAgICAgICBkZWYgZmFpbChzZWxmKToKPiAgICAgICAg ICAgICByYWlzZSBzZWxmLl9fZ2xvYmFsc19fWyJFcnJvciJdKCkKPgo+IE9idmlvdXNseSBpdCdz IG5vdCB0aGF0IHNpbXBsZSBpZiB3ZSBhcmUgdHJ5aW5nIHRvIHByb3ZpZGUgYW4gaW1wbGljaXQK PiBQeXRob24tc3R5bGUgc2NvcGluZyBsb29rdXAgZm9yIEMgZXh0ZW5zaW9uIGZ1bmN0aW9ucy9t ZXRob2RzLi4uCgpUaGUgcHJvYmxlbSBpcyBoZXJlOgoKYmFzZS5weToKICAgIGNsYXNzIEVycm9y KEV4Y2VwdGlvbik6CiAgICAgICAgIkJhc2UgZXJyb3IiCiAgICBjbGFzcyBTcGFtOgogICAgICAg IF9fZ2xvYmFsc19fID0gZ2xvYmFscygpCiAgICAgICAgZGVmIGZhaWwoc2VsZik6CiAgICAgICAg ICAgIHJhaXNlIHNlbGYuX19nbG9iYWxzX19bIkVycm9yIl0oKQoKb3RoZXIucHk6CiAgICBpbXBv cnQgLmJhc2UKICAgIEVycm9yID0gImRpZmZlcmVudCBlcnJvciIKICAgIGNsYXNzIEVnZ3MoYmFz ZS5TcGFtKToKICAgICAgICBfX2dsb2JhbHNfXyA9IGdsb2JhbHMoKQogICAgRWdncygpLmZhaWwo KQoKU29tZSBraW5kIG9mIG5hbWVzcGFjaW5nIGlzIG5lZWRlZCBoZXJlIOKAkyBmYWlsKCkgbmVl ZHMgdG8ga25vdyB0aGF0IGl0CndhcyBkZWZpbmVkIGluIFNwYW0sIG5vdCBFZ2dzLgpUaGlzIGlu Zm9ybWF0aW9uIGlzIG5vdCBwYXNzZWQgdG8gc3BlY2lhbCBtZXRob2RzIHdoZW4gdGhleSdyZSBj YWxsZWQsCmFuZCB0aGVpciBzaWduYXR1cmVzIGNhbid0IGJlIGV4dGVuZGVkLgoKQWxzbywgbW9k dWxlIHN0YXRlIGxvb2t1cCBuZWVkcyB0byBiZSBmYXN0IOKAkyBNUk8gd2Fsa2luZyBvciBkaWN0 Cmxvb2t1cCB3b3VsZCBwcm9iYWJseSBiZSB0b28gc2xvdy4KCj4+PiBIb3dldmVyLCBpdCBzb3Vu ZHMgbGlrZSB5b3UncmUgc3VnZ2VzdGluZyB0aGF0IFB5U3RhdGVfRmluZE1vZHVsZQo+Pj4gc2hv dWxkIGJlIGZpeGVkLCByZXBsYWNlZCwgb3Igc3VwcGxlbWVudGVkLCBhc3N1bWluZyBJJ3ZlIHVu ZGVyc3Rvb2QKPj4+IGNvcnJlY3RseSB0aGF0IGl0J3MgcGFydCBvZiB0aGUgcHJvYmxlbSBoZXJl LiAgSSdkIHNheSBpdCBkZXBlbmRzIG9uCj4+PiB0aGUgYWN0dWFsIGltcGFjdCBvZiB0aGUgbGFj ayBvZiBpbXBsaWNpdCBQeXRob24tbGV2ZWwgc2NvcGluZy9sb29rdXAKPj4+IGluIEMgZXh0ZW5z aW9uIGZ1bmN0aW9ucy9tZXRob2RzLgo+Pgo+PiBQeVN0YXRlX0ZpbmRNb2R1bGUgYnlwYXNzZXMg dGhlIG5lZWQgZm9yIHBhc3NpbmcgYSBtb2R1bGUgcmVmZXJlbmNlCj4+IGFyb3VuZDogeW91IGdp dmUgaXQgYSBQeU1vZHVsZURlZiAoc3RhdGljIGRhdGEgZnJvbSB3aGljaCBhIG1vZHVsZSBpcwo+ PiBjb25zdHJ1Y3RlZCksIGFuZCBmcm9tIHRoYXQgaXQgbG9va3MgdXAgdGhlIGNvcnJlc3BvbmRp bmcgbW9kdWxlIGluCj4+IGN1cnJlbnQgc3ViaW50ZXJwcmV0ZXIgc3RhdGUuCj4+IFRoaXMgIGFz c3VtZXMgdGhlIHNhbWUgc2V0IG9mIG1vZHVsZXMgaXMgbG9hZGVkIGluIGV2ZXJ5Cj4+IHN1Ymlu dGVycHJldGVyLiAoT3IgYXQgbGVhc3QgdGhhdCB0aGUgcmVxdWlyZWQgbW9kdWxlIGlzIGxvYWRl ZCBpbiB0aGUKPj4gY3VycmVudCBzdWJpbnRlcnByZXRlci4pCj4+IElmIHdlIHdhbnQgdG8gc3Vw cG9ydCBzdWJpbnRlcnByZXRlcnMgc2FmZWx5LCBQeVN0YXRlX0ZpbmRNb2R1bGUgbXVzdCBnby4K Pgo+IEhlbmNlIHdlICphcmUqIGxvb2tpbmcgZm9yIGFueSBhbHRlcm5hdGl2ZSBsb29rdXAgbWVj aGFuaXNtCj4gKGVmZmVjdGl2ZWx5IGFuIGVxdWl2YWxlbnQgdG8gUHl0aG9uJ3Mgc2NvcGluZyBs b29rdXApLiAgU28gbXkKPiBxdWVzdGlvbiBpcywgaXMgaXQgd29ydGggaXQgcmVsYXRpdmUgdG8g QyBleHRlbnNpb24gZnVuY3Rpb25zL21ldGhvZHM/Cj4KPiAtZXJpYwpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbXBvcnQtU0lHIG1haWxpbmcgbGlzdApJ bXBvcnQtU0lHQHB5dGhvbi5vcmcKaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbXBvcnQtc2lnCg==