On Tuesday November 30 2010 14:30:18 Garth N. Wells wrote: > On 30/11/10 22:25, Anders Logg wrote: > > On Tue, Nov 30, 2010 at 10:20:52PM +0000, Garth N. Wells wrote: > >> We have a thread-safe problem in GenericFunction with the member object > >> > >> mutable Data data; > >> > >> Any ideas on how to get rid of it? We really should pass data > >> through the function interfaces, but we're constrained in this case > >> by the UFC interface.
This is ironical, as Data was introduced so we in the future (now present) could be thread safe... But I do not think GenericFunction was a ufc::function at that time. Is it time to introduce the notion of thread in the ufc interface? Johan > > Is it possible to have a pool of Data objects and have each thread > > > > select the proper one: > > data[thread_id] > > That's messy because the Data object is buried deep in the code. > > I think that we should avoid this design (private scratch space) and try > to figure out an alternative. I removed the private scratch from > Function the other day. > > -- > > Anders > > _______________________________________________ > Mailing list: https://launchpad.net/~dolfin > Post to : dolfin@lists.launchpad.net > Unsubscribe : https://launchpad.net/~dolfin > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp