[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-213-gb43e8
Re: [Guile-commits] GNU Guile branch, master, updated. v2.1.0-213-gb43e81d
Sat, 05 Oct 2013 13:22:29 +0200
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)
On Fri 04 Oct 2013 06:20, Mark H Weaver <address@hidden> writes:
> This lazy initialization pattern is not safe on modern weakly ordered
> memory architectures. I've already raised this issue on the mailing
> list more than once, and I've been trying to fix these bugs wherever I
> can find them, but they are non-trivial to search for. Please do not
> add more.
> We need to either use a mutex to guard both reads and writes of
> 'program_source' (including the "scm_is_false (program_source)" check),
> or we need to arrange for 'program_source' to be initialized during
> guile's initialization before any other threads are created.
I'm happy to fix up the ones that I introduce. There needs to be a
better abstraction for doing this lazy-init operation. I might not get
around to making that abstraction before introducing a few more though;
apologies in advance for that.
They are actually very easy to search for, though. Search for " static
SCM" and you've got all of them :)