Commit a25c63ce authored by unknown's avatar unknown

Removed wrong "Found lock of type # that is write and read locked" warnings.

parent 06517dfe
...@@ -172,10 +172,13 @@ static int check_lock(struct st_lock_list *list, const char* lock_type, ...@@ -172,10 +172,13 @@ static int check_lock(struct st_lock_list *list, const char* lock_type,
return 0; return 0;
} }
static void check_locks(THR_LOCK *lock, const char *where, static void check_locks(THR_LOCK *lock, const char *where,
my_bool allow_no_locks) my_bool allow_no_locks)
{ {
uint old_found_errors=found_errors; uint old_found_errors=found_errors;
DBUG_ENTER("check_locks");
if (found_errors < MAX_FOUND_ERRORS) if (found_errors < MAX_FOUND_ERRORS)
{ {
if (check_lock(&lock->write,"write",where,1,1) | if (check_lock(&lock->write,"write",where,1,1) |
...@@ -252,18 +255,21 @@ static void check_locks(THR_LOCK *lock, const char *where, ...@@ -252,18 +255,21 @@ static void check_locks(THR_LOCK *lock, const char *where,
} }
if (lock->read.data) if (lock->read.data)
{ {
if ((!pthread_equal(lock->write.data->thread, if (!pthread_equal(lock->write.data->thread,
lock->read.data->thread) && lock->read.data->thread) &&
lock->write.data->type > TL_WRITE_DELAYED && ((lock->write.data->type > TL_WRITE_DELAYED &&
lock->write.data->type != TL_WRITE_ONLY) || lock->write.data->type != TL_WRITE_ONLY) ||
((lock->write.data->type == TL_WRITE_CONCURRENT_INSERT || ((lock->write.data->type == TL_WRITE_CONCURRENT_INSERT ||
lock->write.data->type == TL_WRITE_ALLOW_WRITE) && lock->write.data->type == TL_WRITE_ALLOW_WRITE) &&
lock->read_no_write_count)) lock->read_no_write_count)))
{ {
found_errors++; found_errors++;
fprintf(stderr, fprintf(stderr,
"Warning at '%s': Found lock of type %d that is write and read locked\n", "Warning at '%s': Found lock of type %d that is write and read locked\n",
where, lock->write.data->type); where, lock->write.data->type);
DBUG_PRINT("warning",("At '%s': Found lock of type %d that is write and read locked\n",
where, lock->write.data->type));
} }
} }
if (lock->read_wait.data) if (lock->read_wait.data)
...@@ -286,6 +292,7 @@ static void check_locks(THR_LOCK *lock, const char *where, ...@@ -286,6 +292,7 @@ static void check_locks(THR_LOCK *lock, const char *where,
DBUG_PRINT("error",("Found wrong lock")); DBUG_PRINT("error",("Found wrong lock"));
} }
} }
DBUG_VOID_RETURN;
} }
#else /* EXTRA_DEBUG */ #else /* EXTRA_DEBUG */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment