Compcache not being created globally, only locally.
Submitted by mar..@..il.com
Assigned to Xorg Project Team
I was profiling an application and saw a high usage of _XimParseStringFile. That made me wonder: "don't i have caching?"
After grabbing the package from my distribution (Archlinux) and recompiling it with some debug statements in the file: modules/im/ximcp/imLcIm.c i quickly found out that the define COMPOSECACHE was set and caching "should" be enabled.
So i took a deeper look and added a lot of logging in the function: Private int _XimCachedFileName" (same file). Turns out that that function only seems to be getting a dir path to my local cache "~/.compose-cache/" which also didn't exist. After making that folder the cache was created and this issue would be solved.
However, the local cache wasn't made! I never even saw a call to _XimCachedFileName where the dir is: "/var/cache/libx11/compose/" even though XIM_GLOBAL_CACHE_DIR is set and i did create the folder. It's just empty. So somehow it doesn't use the global cache folder.
Some details: Archlinux (fully updated) libX11 1.5.0 x64
Note: this bugzilla is REALLY SLOW! It even timed out when submitting this bug.