X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzebraapi.c;h=2e64dd0e241bd470ad9f970ae66f4baa8c6bc572;hb=90d4902e0921f68842031a4aa1e743d5df06047f;hp=b69690727cb33f7473c1058de31c4bb86b6f5010;hpb=ac13dceecd5f75669820819575daf88e0add5c8d;p=idzebra-moved-to-github.git diff --git a/index/zebraapi.c b/index/zebraapi.c index b696907..2e64dd0 100644 --- a/index/zebraapi.c +++ b/index/zebraapi.c @@ -1627,7 +1627,11 @@ static void zebra_set_state(ZebraHandle zh, int val, int seqno) sprintf(state_fname, "state.%s.LCK", zh->reg_name); fname = zebra_mk_fname(res_get(zh->res, "lockDir"), state_fname); f = fopen(fname, "w"); - + if (!f) + { + yaz_log(YLOG_FATAL|YLOG_ERRNO, "open %s w", state_fname); + exit(1); + } yaz_log(YLOG_DEBUG, "zebra_set_state: %c %d %ld", val, seqno, p); fprintf(f, "%c %d %ld\n", val, seqno, p); fclose(f); @@ -1808,12 +1812,8 @@ ZEBRA_RES zebra_begin_trans(ZebraHandle zh, int rw) zh->reg = zebra_register_open(zh->service, zh->reg_name, 1, rval ? 1 : 0, zh->res, zh->path_reg); - if (zh->reg) - zh->reg->seqno = seqno; - else + if (!zh->reg) { - zebra_set_state(zh, 'o', seqno); - zebra_unlock(zh->lock_shadow); zebra_unlock(zh->lock_normal); @@ -1825,6 +1825,7 @@ ZEBRA_RES zebra_begin_trans(ZebraHandle zh, int rw) yaz_log(YLOG_FATAL, "%s", zh->errString); return ZEBRA_FAIL; } + zh->reg->seqno = seqno; zebraExplain_curDatabase(zh->reg->zei, zh->basenames[0]); } else