Closed Xliff closed 5 years ago
Thanks for this. But it still feels like it is fixing a problem that is actually a bug in class composition of Rakudo itself. Also, it looks to me that the code is not thread-safe, using "global" hashes.
I'm pretty tired at the moment. Your PR is definitely food for thought on researching the class composition in Rakudo.
Yes, this was pointed out to me. I am reworking some of it.
Talk to you soon.
On Mon, Oct 7, 2019, 2:06 PM Elizabeth Mattijsen notifications@github.com wrote:
Thanks for this. But it still feels like it is fixing a problem that is actually a bug in class composition of Rakudo itself. Also, it looks to me that the code is not thread-safe, using "global" hashes.
I'm pretty tired at the moment. Your PR is definitely food for thought on researching the class composition in Rakudo.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/lizmat/Method-Also/pull/2?email_source=notifications&email_token=AAEU5QQTJDTAW4Y7TF3CGM3QNN3DLA5CNFSM4I6BNSZKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEARIZZI#issuecomment-539135205, or mute the thread https://github.com/notifications/unsubscribe-auth/AAEU5QWAVVEHZHNT7ERWF6LQNN3DLANCNFSM4I6BNSZA .
Thanks for this. But it still feels like it is fixing a problem that is actually a bug in class composition of Rakudo itself. Also, it looks to me that the code is not thread-safe, using "global" hashes.
As I partially participated in this fix, I'd note that there is no race condition in the code. It contains nothing that would be run-time executed. Compile-time is single-threaded anyway. And I don't foresee any plans of changing this.
Multiple threads could do a string EVAL, which both could have a string with "is also" in it.
Unlikely? Perhaps. But nonetheless possible. Or am I missing something?
Possible, but not now. Eval itself isn't thread-safe. It reuses same compiler instance. Though when I experimented with creating a new one it didn't work too.
Though in general I agree with you.
EVAL not being thread-safe, is that a known issue?
Yes. I'm now on my iPad, not easy to find the ticket. But as I remember, it exists.
Ok, found it: rakudo/rakudo#1391
Still think it would need to be fixed in core. Until then, this fix will do.
Awaiting review.