Jython

Message12916

Author jeff.allen
Recipients FraOrolo, jeff.allen, zyasoft
Date 2020年01月25日.10:32:30
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1579948350.33.0.912816195485.issue2834@roundup.psfhosted.org>
In-reply-to
Content
I managed to trap an example of this going wrong. I hope I've now got the right error. The problem is essentially that a recursive call to PyType.forClass() is capable of premature publication. Such a call occurs during construction of the MRO.
Any thread not already waiting inside the type system will then pick up an incomplete PyType from the ClassValue.
We do need those incomplete values internally, in order to build structures like the MRO that refer to the object that contains them.
We need a way to allow PyType.forClass to return an incomplete type to the unique thread already working, while not binding it for other threads to find. I notice that it is allowable for computeValue() to throw an exception and no value is then bound.
History
Date User Action Args
2020年01月25日 10:38:19jeff.allenunlinkissue2834 messages
2020年01月25日 10:32:30jeff.allensetmessageid: <1579948350.33.0.912816195485.issue2834@roundup.psfhosted.org>
2020年01月25日 10:32:30jeff.allensetrecipients: + jeff.allen, zyasoft, FraOrolo
2020年01月25日 10:32:30jeff.allenlinkissue2834 messages
2020年01月25日 10:32:30jeff.allencreate

Supported by Python Software Foundation,
Powered by Roundup

AltStyle によって変換されたページ (->オリジナル) /