mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
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''
This commit is contained in:
@@ -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];
|
||||
|
Reference in New Issue
Block a user