[Proj] libproj4 thread safety
Patrick Mézard
pmezard at gmail.com
Sun Apr 24 10:44:25 EDT 2005
Gerald Evenden wrote:
> I am a newbie to the thread usage but I can see valid and useful
> applications
> of threads and potential application of libproj4 as a thread entity.
> For example,
> I currently generate my figures for the manual with two different
> programs. They
> could be combined into one with the graticule and coastline being
> generated
> in parallel threads using a global projection structure. I'm sure
> others can
> come up with more meaningful examples.
AFAIK, Apache 2.0 is multithreaded while the Apache 1.x family uses the
classic unix forking model. If you write a module for Apache 2.0 you'd
better have thread-safe dependencies. There have been issues for years
with PHP and Apache exactly for this reason, and you can still find
advices not to run PHP with Apache 2.0 and stick with Apache 1.x. The
problem is not with PHP anymore, it has been thread-safe for some times
now, it is with the libraries it may depend on. So if I want to use
libproj to design an online mapping service, I cannot use a multithread
server...
Well, actually I can because as I have stated in previous mails there
are usable workarounds. However, the whole issue is very frustrating
because libproj/proj4 are valuable libraries (that is, *stuff you cannot
rewrite yourself*), are free, and are *almost* thread-safe (proj4
gridding features aside for the moment).
Patrick Mézard
More information about the Proj
mailing list