From 29ad0d85b05dd7ed7a68a01b87ebce5195bdbb85 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Fri, 17 Mar 2000 12:47:02 +0000 Subject: [PATCH] Minor changes to admin client. --- client/admin.c | 27 ++++++++++++++++++++++++++- include/yaz/zes-admin.h | 4 ++++ server/statserv.c | 18 +++++++++++++++++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/client/admin.c b/client/admin.c index 9022950..7f9fca7 100644 --- a/client/admin.c +++ b/client/admin.c @@ -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 @@ -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 @@ -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 @@ -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 @@ -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; } diff --git a/include/yaz/zes-admin.h b/include/yaz/zes-admin.h index 4415486..b5d6daa 100644 --- a/include/yaz/zes-admin.h +++ b/include/yaz/zes-admin.h @@ -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 */ }; diff --git a/server/statserv.c b/server/statserv.c index 965d5d3..aab25b6 100644 --- a/server/statserv.c +++ b/server/statserv.c @@ -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; -- 1.7.10.4