diff options
author | unknown <serg@serg.mysql.com> | 2002-10-22 00:25:36 +0000 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2002-10-22 00:25:36 +0000 |
commit | 72c8af209ea9c90464458cc1862c9bf7b92c2e95 (patch) | |
tree | 281ff1e20ba8329433beedc3b2eff35c0d982813 /myisam/sort.c | |
parent | b4941ad2b10ccc817b4f3b698214b899a6481518 (diff) | |
download | mariadb-git-72c8af209ea9c90464458cc1862c9bf7b92c2e95.tar.gz |
make REPAIR killable
Diffstat (limited to 'myisam/sort.c')
-rw-r--r-- | myisam/sort.c | 7 |
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) { |