{
error(rs, PAZPAR2_MALFORMED_PARAMETER_VALUE, "sort");
return;
-
}
- rl = show_range_start(s->psession, sp, startn, &numn, &total, &total_hits, &approx_hits);
+ rl = show_range_start(s->psession, sp, startn, &numn, &total,
+ &total_hits, &approx_hits, show_records_ready, c);
+ if (!rl)
+ return;
response_open(c, "show");
wrbuf_printf(c->wrbuf, "\n<activeclients>%d</activeclients>\n", active);
yaz_timing_get_sys(t));
yaz_timing_destroy(&t);
#endif
+
+ if (!session_fetch_more(se))
+ session_log(se, YLOG_LOG, "can not fetch more");
+ else
+ {
- show_range_stop(se, recs);
+ session_log(se, YLOG_LOG, "fetching more in progress");
+ if (session_set_watch(se, SESSION_WATCH_SHOW,
+ show_records_ready, chan, chan))
+ {
+ session_log(se, YLOG_WARN, "Ignoring show block");
- session_enter(se, "show_range_start");
+ }
+ else
+ {
++ show_range_stop(se, recs);
+ session_log(se, YLOG_LOG, "session watch OK");
+ return 0;
+ }
+ }
return recs;
}