Minor changes to admin client.
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 17 Mar 2000 12:47:02 +0000 (12:47 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 17 Mar 2000 12:47:02 +0000 (12:47 +0000)
client/admin.c
include/yaz/zes-admin.h
server/statserv.c

index 9022950..7f9fca7 100644 (file)
@@ -1,6 +1,9 @@
 /*
  * $Log: admin.c,v $
- * Revision 1.4  2000-03-16 13:55:49  ian
+ * Revision 1.5  2000-03-17 12:47:02  adam
+ * Minor changes to admin client.
+ *
+ * Revision 1.4  2000/03/16 13:55:49  ian
  * Added commands for sending shutdown and startup admin requests via the admin ES.
  *
  * Revision 1.3  2000/03/14 15:23:17  ian
@@ -144,6 +147,7 @@ int sendAdminES(int type, char* dbname, char* param1)
 int cmd_adm_reindex(char* arg)
 {
     sendAdminES(Z_ESAdminOriginPartToKeep_reIndex,arg,NULL);
+    return 2;
 }
 
 /* cmd_adm_truncate <dbname>
@@ -152,7 +156,11 @@ int cmd_adm_reindex(char* arg)
 int cmd_adm_truncate(char* arg)
 {
     if ( arg )
+    {
         sendAdminES(Z_ESAdminOriginPartToKeep_truncate,arg,NULL);
+       return 2;
+    }
+    return 0;
 }
 
 /* cmd_adm_create <dbname>
@@ -160,7 +168,11 @@ int cmd_adm_truncate(char* arg)
 int cmd_adm_create(char* arg)
 {
     if ( arg )
+    {
         sendAdminES(Z_ESAdminOriginPartToKeep_create,arg,NULL);
+       return 2;
+    }
+    return 0;
 }
 
 /* cmd_adm_delete <dbname>
@@ -168,7 +180,11 @@ int cmd_adm_create(char* arg)
 int cmd_adm_delete(char* arg)
 {
     if ( arg )
+    {
         sendAdminES(Z_ESAdminOriginPartToKeep_delete,arg,NULL);
+       return 2;
+    }
+    return 0;
 }
 
 /* cmd_adm_import <dbname> <rectype> <sourcefile>
@@ -234,7 +250,9 @@ int cmd_adm_import(char* arg)
                iTotalWritten += num_items;
            }
        }
+       return 2;
     }
+    return 0;
 }
 
 /* "Freshen" the specified database, by checking metadata records against the sources from which they were 
@@ -242,7 +260,11 @@ int cmd_adm_import(char* arg)
 int cmd_adm_refresh(char* arg)
 {
     if ( arg )
+    {
         sendAdminES(Z_ESAdminOriginPartToKeep_refresh,arg,NULL);
+       return 2;
+    }
+    return 0;
 }
 
 /* cmd_adm_commit 
@@ -250,15 +272,18 @@ int cmd_adm_refresh(char* arg)
 int cmd_adm_commit(char* arg)
 {
     sendAdminES(Z_ESAdminOriginPartToKeep_commit,NULL,NULL);
+    return 2;
 }
 
 int cmd_adm_shutdown(char* arg)
 {
     sendAdminES(Z_ESAdminOriginPartToKeep_shutdown,NULL,NULL);
+    return 2;
 }
 
 int cmd_adm_startup(char* arg)
 {
     sendAdminES(Z_ESAdminOriginPartToKeep_start,NULL,NULL);
+    return 2;
 }
 
index 4415486..b5d6daa 100644 (file)
@@ -66,6 +66,8 @@ struct Z_ESAdminOriginPartToKeep {
                Z_ImportParameters *import;
                Odr_null *refresh;
                Odr_null *commit;
+               Odr_null *shutdown;
+               Odr_null *start;
 #define Z_ESAdminOriginPartToKeep_reIndex 1
 #define Z_ESAdminOriginPartToKeep_truncate 2
 #define Z_ESAdminOriginPartToKeep_delete 3
@@ -73,6 +75,8 @@ struct Z_ESAdminOriginPartToKeep {
 #define Z_ESAdminOriginPartToKeep_import 5
 #define Z_ESAdminOriginPartToKeep_refresh 6
 #define Z_ESAdminOriginPartToKeep_commit 7
+#define Z_ESAdminOriginPartToKeep_shutdown 8
+#define Z_ESAdminOriginPartToKeep_start 9
        } u;
        Z_InternationalString *databaseName; /* OPT */
 };
index 965d5d3..aab25b6 100644 (file)
@@ -7,7 +7,10 @@
  *   Chas Woodfield, Fretwell Downing Datasystems.
  *
  * $Log: statserv.c,v $
- * Revision 1.61  2000-03-15 12:59:49  adam
+ * Revision 1.62  2000-03-17 12:47:02  adam
+ * Minor changes to admin client.
+ *
+ * Revision 1.61  2000/03/15 12:59:49  adam
  * Added handle member to statserv_control.
  *
  * Revision 1.60  2000/03/14 09:06:11  adam
@@ -541,10 +544,20 @@ void statserv_remove(IOCHAN pIOChannel)
 void statserv_closedown()
 {
     IOCHAN p;
+
+    if (control_block.bend_stop)
+        (*control_block.bend_stop)(&control_block);
+
     for (p = pListener; p; p = p->next)
         iochan_destroy(p);
 }
 
+void sigterm(int sig)
+{
+    statserv_closedown();
+    exit (0);
+}
+
 static void *new_session (void *vp);
 
 static void listener(IOCHAN h, int event)
@@ -852,8 +865,10 @@ int statserv_start(int argc, char **argv)
        me++;
     else
        me = argv[0];
+    logf (LOG_LOG, "Starting server %s", me);
 #else
     me = argv[0];
+    logf (LOG_LOG, "Starting server %s pid=%d", me, getpid());
 #endif
     if (control_block.options_func(argc, argv))
         return(1);
@@ -868,6 +883,7 @@ int statserv_start(int argc, char **argv)
        if (control_block.dynamic)
            signal(SIGCHLD, catchchld);
     }
+    signal (SIGTERM, sigterm);
     if (*control_block.setuid)
     {
        struct passwd *pw;