[Webkit-unassigned] [Bug 42254] ThreadSpecific (QThreadStorage) should not be deleted

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jul 23 01:05:37 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=42254





--- Comment #5 from Zoltan Herczeg <zherczeg at webkit.org>  2010-07-23 01:05:36 PST ---
I would prefer a write brarrier, but WTF does not support it :( (and AtomicIncrease is not supported by all platforms) A global lock would probably need a global constructor, and that is not preferred as well.

Qt is rather stupid in this case. The ThreadStorageData object has a destructor, which is called when the threads free their thread specific objects:

ThreadStorageData<T>::destroy(T*) { ... }

The destroy functions are registered in a list, and Qt require that the object exists, when the thread quit. This is somewhat stupid, since destroy could be a static function, which could free T without a 'this' argument. Perhaps they had problems with dynamically unloadable libraries, and decided that ThreadStorageData should never be destroyed. No idea.

Ok, I will find a different solution.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list