[postgis-devel] [off-topic] Integrating C++ singletons into postgresql extensions???
Stephen Woodbridge
woodbri at swoodbridge.com
Fri Oct 17 11:32:54 PDT 2014
Hi,
I've been writing some new VRP solutions for pgRouting in C++ and I have
a few singleton classes like:
1. Config object that holds some general configuration information.
2. Stats object for global stats collection.
3. Logger object for enabling/disabling debug logging to a file.
4. curlpp class for making outbound calls to OSRM from the c++ code
I can probably do without 1-3 if I had to when the code is integrated,
but they are handy to keep around in the code for when we are developing
and working outside the postgresql database. And, would like to avoid
cluttering the code with tons of #ifdef.
Item 4 is a little more problematic and needs to be kept around or
something else implemented to take its place.
So my question(s) are:
1. Any insights into singletons working/not working within the
postgresql server extensions? My understanding is that these are
implemented as global static classes with a lifetime of the process and
they have no destructor, so I'm a little worried about memory leaks or
multiple queries sharing the singleton.
2. Is there another way of doing this for C++ code in the server?
3. What does PostGIS or GEOS do for logging?
Any help or ideas would be appreciated.
Thanks,
-Steve
More information about the postgis-devel
mailing list