Author: arekm                        Date: Wed May 30 19:12:15 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- backport of threading fixes from php5.2 bundled gd

---- Files affected:
SOURCES:
   php4-gd.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/php4-gd.patch
diff -u /dev/null SOURCES/php4-gd.patch:1.1
--- /dev/null   Wed May 30 21:12:15 2007
+++ SOURCES/php4-gd.patch       Wed May 30 21:12:10 2007
@@ -0,0 +1,77 @@
+--- php-4.4.7/ext/gd/libgd/gdft.c      2007-03-10 13:51:07.000000000 +0100
++++ php-4.4.7.org/ext/gd/libgd/gdft.c  2007-05-30 21:08:19.917066032 +0200
+@@ -750,10 +750,8 @@
+                 /* find antialised color */
+       
+                 tc_key.bgcolor = *pixel;
+-                gdMutexLock(gdFontCacheMutex);
+                 tc_elem = (tweencolor_t *) gdCacheGet (tc_cache, &tc_key);
+                 *pixel = tc_elem->tweencolor;
+-                gdMutexUnlock(gdFontCacheMutex);
+               }
+           }
+       }
+@@ -771,30 +769,39 @@
+ 
+ void gdFontCacheShutdown()
+ {
++      gdMutexLock(gdFontCacheMutex);
++
+       if (fontCache) {
+-              gdMutexLock(gdFontCacheMutex);
+               gdCacheDelete(fontCache);
+               fontCache = NULL;
+-              gdMutexUnlock(gdFontCacheMutex);
+-              gdMutexShutdown(gdFontCacheMutex);
+               FT_Done_FreeType(library);
+       }
++
++      gdMutexUnlock(gdFontCacheMutex);
+ }
+ 
+ void gdFreeFontCache()
+ {
+       gdFontCacheShutdown();
+ }
+-  
++
++void gdFontCacheMutexSetup()
++{
++        gdMutexSetup(gdFontCacheMutex);
++}
++
++void gdFontCacheMutexShutdown()
++{
++        gdMutexShutdown(gdFontCacheMutex);
++}
++
+ int gdFontCacheSetup(void)
+ {
+       if (fontCache) {
+               /* Already set up */
+               return 0;
+       }
+-      gdMutexSetup(gdFontCacheMutex);
+       if (FT_Init_FreeType(&library)) {
+-              gdMutexShutdown(gdFontCacheMutex);
+               return -1;
+       }
+       fontCache = gdCacheCreate (FONTCACHESIZE, fontTest, fontFetch, 
fontRelease);
+@@ -856,15 +863,16 @@
+ 
+       /***** initialize font library and font cache on first call ******/
+ 
++      gdMutexLock(gdFontCacheMutex);
+       if (!fontCache) {
+               if (gdFontCacheSetup() != 0) {
+                       gdCacheDelete(tc_cache);
++                      gdMutexUnlock(gdFontCacheMutex);
+                       return "Failure to initialize font library";
+               }
+       }
+       /*****/
+       
+-      gdMutexLock(gdFontCacheMutex);
+       /* get the font (via font cache) */
+       fontkey.fontlist = fontlist;
+       fontkey.library = &library;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to