From f72dd18af816a5171ad70076f9e9f7622db0916a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Mar 2004 11:22:01 +0100 Subject: [PATCH] shared IO_CACHE: protection against remove_io_share in a wrong time bug#3134 BitKeeper/deleted/.del-post-incoming~9f2168f531f09f3b: Delete: BitKeeper/triggers/post-incoming BitKeeper/deleted/.del-post-outgoing~1dd3d8f0f6e8f3cd: Delete: BitKeeper/triggers/post-outgoing --- BitKeeper/triggers/post-incoming | 3 --- BitKeeper/triggers/post-outgoing | 3 --- mysys/mf_iocache.c | 3 ++- 3 files changed, 2 insertions(+), 7 deletions(-) delete mode 100755 BitKeeper/triggers/post-incoming delete mode 100755 BitKeeper/triggers/post-outgoing diff --git a/BitKeeper/triggers/post-incoming b/BitKeeper/triggers/post-incoming deleted file mode 100755 index f1ea2255de9..00000000000 --- a/BitKeeper/triggers/post-incoming +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh - -echo "Test: post-incoming works" diff --git a/BitKeeper/triggers/post-outgoing b/BitKeeper/triggers/post-outgoing deleted file mode 100755 index 3fc2cdbad67..00000000000 --- a/BitKeeper/triggers/post-outgoing +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh - -echo "Test: post-outgoing works" diff --git a/mysys/mf_iocache.c b/mysys/mf_iocache.c index c5bd7db9677..8fb93dc4780 100644 --- a/mysys/mf_iocache.c +++ b/mysys/mf_iocache.c @@ -481,7 +481,8 @@ static int lock_io_cache(IO_CACHE *info, my_off_t pos) while (!s->active || s->active->pos_in_file < pos) pthread_cond_wait(&s->cond, &s->mutex); - if (s->total < total) + if (s->total < total && + (!s->active || s->active->pos_in_file < pos)) return 1; pthread_mutex_unlock(&s->mutex);