Ticket #525 (closed defect: wontfix)

Opened 9 years ago

Last modified 9 years ago

Thread-safe freetype text with GD 2.0.17

Reported by: sgillies@… Owned by: sdlime
Priority: high Milestone: 4.4 release
Component: MapServer C Library Version: 4.3
Severity: normal Keywords:
Cc:

Description

From the GD 2.0.17 docs:

Thread safety for freetype text output. Background: all gd functions were
already thread safe, as long as only one thread manipulates each image -- except
for gdImageStringFT and gdImageStringFTEx. This is because of a shared freetype
font cache. Sharing the cache between images is worthwhile, so "configure" now
detects pthreads and uses it to wrap freetype text output in a critical section
if available. There is also critical section support under WIN32. Those who wish
to be strictly thread-safe should call the new function gdFontCacheSetup before
allowing any thread to use freetype text calls. Otherwise this function is
automatically invoked on the first use of freetype, with a very small but real
chance of a race condition.
----

We should take advantage of this.  Should also look into MapServer's threading
support for Win32.

Attachments

cracks.jpg Download (83.6 KB) - added by fwarmerdam 9 years ago.
View from Omry showing crack problem

Change History

Changed 9 years ago by dmorissette

  • cc mapserver-bugs@… added

Changed 9 years ago by fwarmerdam

I believe the win32 build issue has been resolved by patches provided by 
last week.  

Changed 9 years ago by fwarmerdam

View from Omry showing crack problem

Changed 9 years ago by sgillies@…

Wrong bug for the previous attachment?

Changed 9 years ago by fwarmerdam

Garr! Yes, please disregard. 

Changed 9 years ago by sgillies@…

  • version changed from 4.1 to 4.3
  • milestone set to 4.4 release
Setting new target.

Changed 9 years ago by sgillies@…

  • status changed from new to closed
  • resolution set to wontfix
Nevermind, just checked the GD source and it appears to be handled therein.
Note: See TracTickets for help on using tickets.