summaryrefslogtreecommitdiff
path: root/myisam/sort.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2002-10-22 00:25:36 +0000
committerunknown <serg@serg.mysql.com>2002-10-22 00:25:36 +0000
commit72c8af209ea9c90464458cc1862c9bf7b92c2e95 (patch)
tree281ff1e20ba8329433beedc3b2eff35c0d982813 /myisam/sort.c
parentb4941ad2b10ccc817b4f3b698214b899a6481518 (diff)
downloadmariadb-git-72c8af209ea9c90464458cc1862c9bf7b92c2e95.tar.gz
make REPAIR killable
Diffstat (limited to 'myisam/sort.c')
-rw-r--r--myisam/sort.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/myisam/sort.c b/myisam/sort.c
index 5819fb7b493..0e69e41ed5c 100644
--- a/myisam/sort.c
+++ b/myisam/sort.c
@@ -284,7 +284,7 @@ pthread_handler_decl(thr_find_all_keys,arg)
uint memavl,old_memavl,keys,sort_length;
uint idx, maxbuffer;
uchar **sort_keys=0;
-
+
error=1;
if (my_thread_init())
@@ -701,6 +701,7 @@ merge_buffers(MI_SORT_PARAM *info, uint keys, IO_CACHE *from_file,
uchar *strpos;
BUFFPEK *buffpek,**refpek;
QUEUE queue;
+ volatile bool *killed= killed_ptr(info->sort_info->param);
DBUG_ENTER("merge_buffers");
count=error=0;
@@ -732,6 +733,10 @@ merge_buffers(MI_SORT_PARAM *info, uint keys, IO_CACHE *from_file,
{
for (;;)
{
+ if (*killed)
+ {
+ error=1; goto err;
+ }
buffpek=(BUFFPEK*) queue_top(&queue);
if (to_file)
{