X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=ztest%2Fztest.c;h=dacf6401c5ab7bef94dddf4d4bc467414bf61fec;hb=62fd62f25a6893d042c4c87f8c770929fd8cf95d;hp=51ead4110a616f7eb97ad5068a6aba8ee8374e24;hpb=af895ebea6200bb5a752ae312b83a6f78edfad08;p=yaz-moved-to-github.git diff --git a/ztest/ztest.c b/ztest/ztest.c index 51ead41..dacf640 100644 --- a/ztest/ztest.c +++ b/ztest/ztest.c @@ -1,8 +1,8 @@ /* - * Copyright (C) 1995-2005, Index Data ApS + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: ztest.c,v 1.81 2006-05-06 00:52:15 quinn Exp $ + * $Id: ztest.c,v 1.85 2007-01-16 14:12:38 adam Exp $ */ /* @@ -54,9 +54,19 @@ int ztest_search(void *handle, bend_search_rr *rr) else if(!yaz_matchstr (rr->basenames[0], "Slow")) { #if HAVE_UNISTD_H - sleep(3); + /* wait up to 3 seconds and check if connection is still alive */ + int i; + for (i = 0; i<3; i++) + { + if (!bend_assoc_is_alive(rr->association)) + { + yaz_log(YLOG_LOG, "search aborted"); + break; + } + sleep(1); + } #endif - ; + rr->estimated_hit_count = 1; } else { @@ -663,6 +673,12 @@ int ztest_explain(void *handle, bend_explain_rr *rr) return 0; } +int ztest_update(void *handle, bend_update_rr *rr) +{ + rr->operation_status = "success"; + return 0; +} + bend_initresult *bend_init(bend_initrequest *q) { bend_initresult *r = (bend_initresult *) @@ -690,6 +706,7 @@ bend_initresult *bend_init(bend_initrequest *q) q->bend_explain = ztest_explain; #endif q->bend_srw_scan = ztest_scan; + q->bend_srw_update = ztest_update; return r; }