On Friday, 20 February 2015 at 13:44:04 UTC, ponce wrote:
On Friday, 20 February 2015 at 13:04:51 UTC, John Colvin wrote:
On Friday, 20 February 2015 at 09:57:48 UTC, francesco.cattoglio wrote:
(e.g: if the GC calls any OpenGL function, you get a "nice" crash since OpenGL is not multithread-aware by default).

Really? I don't see this in my projects. The GC stops the world, so there shouldn't be any races.

Not a race.
An OpenGL contect can only active in one thread at once. If the GC calls a destructor from a thread which doesn't have that context active, it will probably crash.

Exactly. Unless you do some special work yourself, you can't call OpenGL function from a different thread. It's not a real D problem, in fact, D is probably doing the right thing when it comes to Thread Local Storage and such. It is more of an OpenGL limitation. This is also the reason I can't wait to see OpenGL Next, since there were also promises of "far better multithread support".

Reply via email to