seqno/statevalue in register rather than session
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 27 Mar 2002 07:53:13 +0000 (07:53 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 27 Mar 2002 07:53:13 +0000 (07:53 +0000)
index/zebraapi.c
index/zserver.h

index b57ed8a..6e2e3a8 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2002, Index Data
  * All rights reserved.
  *
- * $Id: zebraapi.c,v 1.49 2002-03-21 10:25:42 adam Exp $
+ * $Id: zebraapi.c,v 1.50 2002-03-27 07:53:13 adam Exp $
  */
 
 #include <assert.h>
@@ -65,8 +65,6 @@ ZebraHandle zebra_open (ZebraService zs)
     zh->errString = 0;
 
     zh->trans_no = 0;
-    zh->seqno = 0;
-    zh->last_val = 0;
 
     zh->lock_normal = zebra_lock_create (res_get(zs->res, "lockDir"),
                                          "norm.LCK", 0);
@@ -104,6 +102,9 @@ ZebraService zebra_start (const char *configName)
     zh->registerState = -1;
     zh->registerChange = 0;
 
+    zh->seqno = 0;
+    zh->last_val = 0;
+
     if (!(zh->res = res_open (zh->configName)))
     {
        logf (LOG_WARN, "Failed to read resources `%s'", zh->configName);
@@ -742,14 +743,14 @@ static int zebra_begin_read (ZebraHandle zh)
     zebra_get_state (zh, &val, &seqno);
     if (val == 'd')
         val = 'o';
-    if (seqno != zh->seqno)
+    if (seqno != zh->service->seqno)
     {
-        yaz_log (LOG_LOG, "reopen seqno cur/old %d/%d", seqno, zh->seqno);
+        yaz_log (LOG_LOG, "reopen seqno cur/old %d/%d", seqno, zh->service->seqno);
         dirty = 1;
     }
-    else if (zh->last_val != val)
+    else if (zh->service->last_val != val)
     {
-        yaz_log (LOG_LOG, "reopen last cur/old %d/%d", val, zh->last_val);
+        yaz_log (LOG_LOG, "reopen last cur/old %d/%d", val, zh->service->last_val);
         dirty = 1;
     }
     if (!dirty)
@@ -760,8 +761,8 @@ static int zebra_begin_read (ZebraHandle zh)
     else
         zebra_lock_r (zh->lock_normal);
     
-    zh->last_val = val;
-    zh->seqno = seqno;
+    zh->service->last_val = val;
+    zh->service->seqno = seqno;
 
     zebra_register_deactivate (zh);
 
@@ -848,7 +849,7 @@ void zebra_begin_trans (ZebraHandle zh)
     zebra_set_state (zh, 'd', seqno);
 
     zebra_register_activate (zh, 1, rval ? 1 : 0);
-    zh->seqno = seqno;
+    zh->service->seqno = seqno;
 }
 
 void zebra_end_trans (ZebraHandle zh)
index ba264e8..841cb37 100644 (file)
@@ -3,7 +3,7 @@
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
- * $Id: zserver.h,v 1.53 2002-03-20 20:24:30 adam Exp $
+ * $Id: zserver.h,v 1.54 2002-03-27 07:53:13 adam Exp $
  */
 
 #if HAVE_SYS_TIMES_H
@@ -65,6 +65,8 @@ struct zebra_service {
     RecTypes recTypes;
     Passwd_db passwd_db;
     Zebra_mutex_cond session_lock;
+    int seqno;
+    int last_val;
     int stop_flag;
     int active; /* 0=shutdown, 1=enabled and inactive, 2=activated */
 };
@@ -104,8 +106,6 @@ struct zebra_session {
     ZebraLockHandle lock_shadow;
 
     int trans_no;
-    int seqno;
-    int last_val;
     int destroyed;
     ZebraSet sets;
     int errCode;