[geos-devel] initGEOS/finishGEOS and multiple subsystems

Mateusz Loskot mateusz at loskot.net
Fri Jun 30 17:28:39 EDT 2006


strk at refractions.net wrote:
> On Fri, Jun 30, 2006 at 11:17:20PM +0200, Mateusz Loskot wrote:
>> strk at refractions.net wrote:
>>> On Fri, Jun 30, 2006 at 10:30:21PM +0200, Mateusz Loskot wrote:
>>>> strk at refractions.net wrote:
>>>>> With GEOS-3.0.0 initGEOS/finishGEOS do not instantiate/delete a 
>>>>> GeometryFactory anymore. Rather the default GeometryFactory is 
>>>>> used. This should fix the problem.
>>>> What about backport to 2.2.x with ref-counted proposal? Such 
>>>> changes could would not affect existing code.
>>> Ok with me.
>>>
>>>> I'd like to repeat that in general, global factory should be 
>>>> replaced with shared object (e.g. managed by shared_ptr from Boost 
>>>> or our own home-made shared smart pointer). static factory can 
>>>> cause problems too: 
>>>> http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.12
>>> We're using "construct on first use" idiom if I'm not wrong (see faq 
>>> 10.13).
>> Yes, we are.
>> But we still need to be careful:
>> http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.14
> 
> I was waiting for this answer :)
> I don't think anyone's destructor is relying on GeometryFactory use.

Heh, you know, just in case... Evil is Watching ;-)

Cheers
-- 
Mateusz Loskot
http://mateusz.loskot.net



More information about the geos-devel mailing list