> From: Doug Evans <xdj...@gmail.com> > Cc: l...@gnu.org, guile-devel@gnu.org, gdb-patc...@sourceware.org > Date: Fri, 05 Sep 2014 01:26:28 -0700 > > we can't physically prevent [users] from starting threads.
Of course we can: if Guile gives us a way to disable threads, any user extension that attempts to start a thread will simply fail. > We pretty much leave them that way already given the myriad > of things they can do to mess up gdb without threads. ?? The rest of GDB is compiled C code which users cannot change without recompiling. And it's a single-threaded code. And it's under our close scrutiny. So I see no problems here. > The python side of things is too silent on whether threads are supported > there. > https://sourceware.org/gdb/current/onlinedocs/gdb/Basic-Python.html#Basic-Python I simply don't know enough about Python to discuss this; I do know about Guile. If Python extensions can start threads, then the same considerations apply there. And if the Python side didn't disallow that until now, it doesn't sound like a good excuse to add insult to injury on the Guile side. > At any rate, the task at hand is getting gdb to work well with Guile, > regardless of whether the user starts any threads, > and that's the intent of the patch. If we disable threads, this patch is unneeded, as are all the future patches I envision that will have to deal with these issues. We kill the problem cleanly and once and for all. From where I stand, it's a no-brainer. > I am happy to make the default value of GC_MARKERS be 1 (regardless > of libgc version, and if not already set by the user) when initializing Guile, > that will disable libgc marker threads. That'd be fine with me, thanks.