X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fdaemon.h;h=371a21c25c6d2aa433f9712294ee3ee63c63fb9a;hp=95af0bd9e32e0505fb4e28b829b20a49924a87f1;hb=bb84694ae5b1951689fe049bef536e5a73deb208;hpb=43a9d38d20c1b1bcd1a03b2445a501d27526bd35 diff --git a/include/yaz/daemon.h b/include/yaz/daemon.h index 95af0bd..371a21c 100644 --- a/include/yaz/daemon.h +++ b/include/yaz/daemon.h @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2011 Index Data. + * Copyright (C) Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -41,6 +41,7 @@ YAZ_BEGIN_CDECL #define YAZ_DAEMON_FORK 1 #define YAZ_DAEMON_DEBUG 2 #define YAZ_DAEMON_KEEPALIVE 4 +#define YAZ_DAEMON_LOG_REOPEN 8 /** \brief daemon utility. \param progname program name for logging purposes. @@ -59,8 +60,10 @@ YAZ_BEGIN_CDECL Flag YAZ_DAEMON_DEBUG: Puts the service in debug mode (no fork at all). - Flag YAZ_DAEMON_KEEPALIVE: Repeatedly calls work handler if it makes a + Flag YAZ_DAEMON_KEEPALIVE: Repeatedly calls work handler if it makes a "fatal" error. + + Flag YAZ_DAEMON_KEEPALIVE: Re-opens yaz log if SIGHUP is received */ YAZ_EXPORT int yaz_daemon(const char *progname, @@ -68,6 +71,17 @@ int yaz_daemon(const char *progname, void (*work)(void *data), void *data, const char *pidfile, const char *uid); +/** \brief stop daemon - stop parent process + + This function sends a signal to the parent keepalive process that + makes it exit immediately - without waiting. If there's no parent + keepalive process, this function does nothing. SHould be called + when the child process has freed resources, such as listening socket. + But the child process may continue running. +*/ +YAZ_EXPORT +void yaz_daemon_stop(void); + YAZ_END_CDECL #endif