[xml] Useless mutex in struct _xmlDict
- From: Florent Guiliani <flgu 4js com>
- To: xml gnome org
- Subject: [xml] Useless mutex in struct _xmlDict
- Date: Mon, 14 Jan 2008 11:27:12 +0100
Hi all,
A "xmlRMutexPtr mutex" was introduced in "struct _xmlDict" by SVN revision#2947
(svn diff -c 2947 http://svn.gnome.org/svn/libxml2/trunk/dict.c).
A global "static xmlRMutexPtr xmlDictMutex" was prefered to this by-dict mutex
in revision#2948
(svn diff -c 2948 http://svn.gnome.org/svn/libxml2/trunk/dict.c).
But the original by-dict mutex is still present in "struct _xmlDict" and is no
more used.
(svn cat -r HEAD http://svn.gnome.org/svn/libxml2/trunk/dict.c)
I've attached a patch that remove this unused mutex.
Florent,
PS: Here is the different commit logs:
r2947 | veillard | 2005-01-21 17:55:41 +0100 (ven, 21 jan 2005) | 4 lines
* dict.c: patch from Gary Coady to fix a race in dict reference
counting in multithreaded apps.
Daniel
r2948 | veillard | 2005-01-22 00:53:26 +0100 (sam, 22 jan 2005) | 5 lines
* dict.c parser.c include/libxml/dict.h: a single lock version
mostly avoid the cost penalty of the lock in case of low
parallelism, so applying that version instead.
Daniel
and here is the last message of the original mailinglist's thread:
http://mail.gnome.org/archives/xml/2005-January/msg00160.html
Index: dict.c
===================================================================
--- dict.c (revision 3678)
+++ dict.c (working copy)
@@ -60,7 +60,6 @@
*/
struct _xmlDict {
int ref_counter;
- xmlRMutexPtr mutex;
struct _xmlDictEntry *dict;
int size;
@@ -337,11 +336,8 @@
dict->strings = NULL;
dict->subdict = NULL;
if (dict->dict) {
- if ((dict->mutex = xmlNewRMutex()) != NULL) {
- memset(dict->dict, 0, MIN_DICT_SIZE * sizeof(xmlDictEntry));
- return(dict);
- }
- xmlFree(dict->dict);
+ memset(dict->dict, 0, MIN_DICT_SIZE * sizeof(xmlDictEntry));
+ return(dict);
}
xmlFree(dict);
}
@@ -545,7 +541,6 @@
xmlFree(pool);
pool = nextp;
}
- xmlFreeRMutex(dict->mutex);
xmlFree(dict);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]