It sounded to me like Elias was under the impression the data was public, but I can't be sure. I would just go ahead and do it with a mutex. There's no need to make it complicated and it doesn't belong in TLS.
On Mon, August 22, 2016 12:17 am, Edgar Reynaldo wrote: > > This message wasn't sent to the mailing list, so I'm forwarding it on. > > -------- Forwarded Message -------- > Subject: RE: [AD] Working on ex_threads, d3d_display_format.cpp, tls.c > Date: Sun, 21 Aug 2016 17:37:56 -0600 > From: [email protected] > To: Edgar Reynaldo <[email protected]> > > > > First of all, Elias can you confirm why you wanted this in TLS? I guess > it allows displays to be created in parallel, which might be a tiny > advantage, though this should run pretty quickly (instantly?) > > But if we do go with a mutex, you can create it in d3d_init_display and > destroy it in d3d_shutdown_display in d3d_disp.cpp. Declare it in d3d.h > in src/win, not in include/allegro5 anywhere. > > *From: *Edgar Reynaldo <mailto:[email protected]> > *Sent: *August 21, 2016 5:01 PM > *To: *[email protected] <mailto:[email protected]> > *Subject: *Re: [AD] Working on ex_threads, d3d_display_format.cpp, tls.c > > On 8/21/2016 5:55 PM, [email protected] <mailto:[email protected]> wrote: > > I think that is the simplest approach, if Iâm not missing anything > on why TLS was suggested to begin with. > > *From: *Edgar Reynaldo <mailto:[email protected]> > *Sent: *August 21, 2016 4:25 PM > *To: *[email protected] <mailto:[email protected]> > *Subject: *Re: [AD] Working on ex_threads, d3d_display_format.cpp, > tls.c > > On 8/21/2016 5:18 PM, [email protected] <mailto:[email protected]> > wrote: > > It wouldnât hurt to create an aintern_tls.h. As for tls_get > returning NULL, youâd have to return an error to the user (eg > return false or NULL, not sure the specifics.) But perhaps it > would be better to use a mutex here. Thereâs no real reason this > needs to be in TLS. > > So you would prefer to keep eds_list, fullscreen, and adapter static > and then access them with a mutex? That would serialize the creation > of the displays in ex_threads then, which is fine, and would solve > the crash. > > > Okay, then that raises the question of the mutex to provide locking for > d3d_display_formats.cpp then. As the mutex needs to be created and > initialized, and a destructor added for it. Where and when should the > mutex be created and initialized? And does a destructor for the mutex > need to be registered? Does allegro destroy mutexes when at_exit or > al_uninstall_system is run? > > > > _______________________________________________ > Allegro-developers mailing list > [email protected] > https://mail.gna.org/listinfo/allegro-developers > _______________________________________________ Allegro-developers mailing list [email protected] https://mail.gna.org/listinfo/allegro-developers
