summaryrefslogtreecommitdiff
path: root/include/my_pthread.h
diff options
context:
space:
mode:
authorunknown <bell@88-214-96-46.dialup.umc.net.ua>2008-02-22 22:32:34 +0200
committerunknown <bell@88-214-96-46.dialup.umc.net.ua>2008-02-22 22:32:34 +0200
commit190de95f6fcf37572be7cf2ff0543d74d190a989 (patch)
tree0ccc2ad2a6bfe277f9795c8e8a468213842a80a1 /include/my_pthread.h
parent3aaa0f60cdc0f1c63221ae7ac6e0ce2f11a175cb (diff)
downloadmariadb-git-190de95f6fcf37572be7cf2ff0543d74d190a989.tar.gz
Locking for read and write made waiting for each other (with loose
scheme for the same thread locking). include/my_pthread.h: Added variable for lock diffirentiation. include/wqueue.h: New release call. mysys/wqueue.c: New release call in case of read/write lock. storage/maria/ma_pagecache.c: Locking for read and write made waitimg for each other. storage/maria/unittest/Makefile.am: New test added. storage/maria/unittest/ma_pagecache_consist.c: Fixed thread initialization in the test. storage/maria/unittest/ma_pagecache_rwconsist.c: New BitKeeper file ``storage/maria/unittest/ma_pagecache_rwconsist.c''
Diffstat (limited to 'include/my_pthread.h')
-rw-r--r--include/my_pthread.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/my_pthread.h b/include/my_pthread.h
index 093cd9c000e..1841d91d8c5 100644
--- a/include/my_pthread.h
+++ b/include/my_pthread.h
@@ -674,6 +674,9 @@ extern int pthread_dummy(int);
#endif
#endif
+#define MY_PTHREAD_LOCK_READ 0
+#define MY_PTHREAD_LOCK_WRITE 1
+
struct st_my_thread_var
{
int thr_errno;
@@ -688,6 +691,7 @@ struct st_my_thread_var
my_bool init;
struct st_my_thread_var *next,**prev;
void *opt_info;
+ uint lock_type; /* used by conditional release the queue */
#ifndef DBUG_OFF
void *dbug;
char name[THREAD_NAME_SIZE+1];