1 Feb 18:46
Re: [flyweight] Review period extended to February 3
From: vicente.botet <vicente.botet <at> wanadoo.fr>
Subject: Re: [flyweight] Review period extended to February 3
Newsgroups: gmane.comp.lib.boost.devel
Date: 2008-02-01 17:46:30 GMT
Subject: Re: [flyweight] Review period extended to February 3
Newsgroups: gmane.comp.lib.boost.devel
Date: 2008-02-01 17:46:30 GMT
"Joaquín Mª López Muñoz" wrotes > "vicente.botet" ha escrito: > > > Hi Joaquin, > > > > What is the magic number 16384 in the intermodule_holder intantiator > > struct intermodule_holder_class contains the following initialization > > instantiator(): > > mutex(interprocess::open_or_create,compute_mutex_name()), > > seg(interprocess::open_or_create,compute_segment_name(),16384), > > intermodule_holder<T> creates a shared memory segment which is > (intendedly) > unique to the combination (process,T), and it is used to share information > on the > static data initialization process among the different dynamic modules in > the > program. > > 16 KB is just a conventional size requested for the memory segment. > Actually, > this segment only contains a pointer, but it's necessary that the segment > be larger > than merely sizeof(void*) to accommodate object names and other > Boost.Interprocess internal information. Maybe 16KB is a little too much > and > we could do with 2 or 4 KB, but I didn't think it was worth being > avaricious here. OK, I understand. [snip] > > Are the compute_mutex_name and compute_segment_name friendly for > > debuging? > > I think that we will need here some introspection in order obtain these > > values,or better yet to be able to configure them. > > The mutex_name (segment_name is similar) has the form > > boost_flyweight_intermodule_holder_mutex_A_C0_C1_C2_C3 > > where A is the current process ID and C0,...,C3 are numbers obtained from > hashing > typeid(T).name(), T being the type in intermodule_holder<T>. The intention > is that > this name is unique to the combination (process,T). I don't think it > should be > configurable, since it's an internal detail and also because the > particular > name chosen is crucial to ensuring that the segment is unique to > (process,T) > (we're using a process-wide segment for intraprocess purposes.) Sorry, I was yet thinking that the factory was allocated in this space. We don't need never to access to these objects by name. Forget please. --------------------------- Vicente Juan Botet Escriba _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
RSS Feed