[Fontconfig] fontconfig: Changes to 'wip/threadsafe'
Akira TAGOH
tagoh at kemper.freedesktop.org
Tue Jun 2 01:47:02 PDT 2015
New branch 'wip/threadsafe' available with the following commits:
commit 1045a40778c1f77fd88908f7b1495c6c8f01c539
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Oct 15 19:35:03 2012 -0500
Make FcDirCacheDispose() threadsafe
commit 887bbf9984a26077105d280e8134bde9b97b34ee
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Wed Oct 10 15:24:31 2012 -0400
Make cache hash threadsafe
This concludes my first pass at making fontconfig threadsafe. Now to
testing and actually fixing it!
commit 7ddb50f0af17d8cb46893640c3f3e62717eae5e5
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Oct 8 20:03:35 2012 -0400
Make random-state initialization threadsafe
commit 8a975a9d1bc9f02baab0640c4f4f45509b3c9bcc
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Oct 8 20:02:05 2012 -0400
Add a big cache lock
Not used yet.
commit bf2c62506558fb9b858770445fff5319b2755734
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Mon Oct 8 17:59:38 2012 -0400
Fix FcConfigInit()
Ouch!
commit e7876691ba90641bf38e80b958494eabc8657e23
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 21:03:58 2012 -0400
Make cache refcounting threadsafe
commit fc45f436a3e73bae025cd565638f8898ab5102a3
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 17:46:12 2012 -0400
Minor
commit 98b81e0b2a1b10c070ec2b74ca7b254b2e055575
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 17:42:18 2012 -0400
Make FcCacheIsMmapSafe() threadsafe
commit 6fd40c71fa138ce6e90136dd0c1dbea4284c8956
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 17:41:58 2012 -0400
Fix FcDefaultFini()
Oops.
commit 9ea420ea0ff230e2a7131dbb67c68a0180507863
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 17:29:45 2012 -0400
Minor
commit e16aa7370aa13482bd5259fd45804a5fb6564029
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 17:02:50 2012 -0400
Make default-FcConfig threadsafe
commit baa5e7c3c94a2b5b1785b2177aafa1eba316fae8
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 16:42:36 2012 -0400
Minor
commit eea5a914375e97b979c5cc247b95b3977f02329b
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 16:37:03 2012 -0400
Refactor; contain default config in fccfg.c
commit 1ea981331bcd7e7913c1cdd76a66fef52816dda2
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 16:26:53 2012 -0400
Make FcDefaultFini() threadsafe
commit 180b4203d781e93f2bc322240353bd36d4f65df1
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 16:09:35 2012 -0400
Make FcInitDebug() idempotent
commit 13d3438ba6a62cadeed2874ffb6da5f318c2a0e6
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 16:07:57 2012 -0400
Mark some vars as MT-dontcare
commit 8e9ec4c5014372223a138ffc5a8816d018db4059
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 16:04:49 2012 -0400
Remove unused macro
commit afbf466854bd1d6e2dee2998cd66c82b6dda4e66
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 15:52:25 2012 -0400
Make FcGetDefaultLang and FcGetDefaultLangs thread-safe
commit 336916dce0ef11ed08d61b6dd24e8b8de0c0d36c
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 15:35:47 2012 -0400
Minor include cleanup
commit b9c06fd6272b2960c0d62560a2f051c3036e1ff6
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 14:41:38 2012 -0400
Make refcounts, patterns, charsets, strings, and FcLang thread-safe
commit 7d36ebb500ed0263206c4b4885d2851b982c5e9f
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 14:24:28 2012 -0400
Add thread-safety primitives
commit b3a3c1d4599b9dc5412bb1dc0e57b6da75b8821f
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sun Oct 7 13:49:45 2012 -0400
Add build stuff for threadsafety primitives
Copied over from HarfBuzz.
commit 38dfb8fb8eae3ca61410599890932c8583a906f1
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sat Oct 6 18:15:58 2012 -0400
Fix build stuff
commit 0f6a1d3e2021173e8eee909614b15f42369daa72
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sat Oct 6 18:12:19 2012 -0400
Remove shared-str pool
We used to have a shared-str pool. Removed to make thread-safety
work easier. My measurements show that the extra overhead is not
significant by any means.
commit c9ac52ab54cc42c4e5d253eddb5dc39eff6ac7cb
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sat Oct 6 17:52:39 2012 -0400
Switch .gitignore to git.mk
commit 22a5f865294410ed34bd9d04e66f7d0542d6670e
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sat Oct 6 17:52:07 2012 -0400
Minor
commit 51de848a3e16e1be541988345eec01df0c13392b
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Sat Oct 6 17:34:52 2012 -0400
Use a static perfect hash table for object-name lookup
Generated by gperf. A bit fragile, but I think I got it all right.
commit 4ee76085cf240925345d33bce2c11b5e4c3c192a
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Sep 20 14:42:31 2012 -0400
Add fcobjs.h
Centralize object declaration.
commit 30bef25c000c119ecebb281d35de97379948fcb6
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Thu Sep 20 14:01:47 2012 -0400
Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants
These never worked as intended. The problem is, if Fontconfig tries to
read config files when these new types / constants are not registered,
it errs. As a result, no defined types / constants are usable from
config files. Which makes these really useless. Xft was the only user
of this API and even there it's not really used. Just kill it.
One inch closer to thread-safety since we can fix the object-type hash
table at compile time.
More information about the Fontconfig
mailing list