SM0 She11
Path:
/
/
usr
/
local
/
apache
/
include
Full Path (server): /usr/local/apache/include
Create Fil3
Upl04d Fil3
📄 ap_compat.h
[E]
[D]
[R]
📄 ap_config.h
[E]
[D]
[R]
📄 ap_config_auto.h
[E]
[D]
[R]
📄 ap_config_layout.h
[E]
[D]
[R]
📄 ap_expr.h
[E]
[D]
[R]
📄 ap_hooks.h
[E]
[D]
[R]
📄 ap_listen.h
[E]
[D]
[R]
📄 ap_mmn.h
[E]
[D]
[R]
📄 ap_mpm.h
[E]
[D]
[R]
📄 ap_provider.h
[E]
[D]
[R]
📄 ap_regex.h
[E]
[D]
[R]
📄 ap_regkey.h
[E]
[D]
[R]
📄 ap_release.h
[E]
[D]
[R]
📄 ap_slotmem.h
[E]
[D]
[R]
📄 ap_socache.h
[E]
[D]
[R]
📄 apache_noprobes.h
[E]
[D]
[R]
📄 cache_common.h
[E]
[D]
[R]
📄 heartbeat.h
[E]
[D]
[R]
📄 http_config.h
[E]
[D]
[R]
📄 http_connection.h
[E]
[D]
[R]
📄 http_core.h
[E]
[D]
[R]
📄 http_log.h
[E]
[D]
[R]
📄 http_main.h
[E]
[D]
[R]
📄 http_protocol.h
[E]
[D]
[R]
📄 http_request.h
[E]
[D]
[R]
📄 http_ssl.h
[E]
[D]
[R]
📄 http_vhost.h
[E]
[D]
[R]
📄 httpd.h
[E]
[D]
[R]
📄 mod_auth.h
[E]
[D]
[R]
📄 mod_cache.h
[E]
[D]
[R]
📄 mod_cgi.h
[E]
[D]
[R]
📄 mod_core.h
[E]
[D]
[R]
📄 mod_dav.h
[E]
[D]
[R]
📄 mod_dbd.h
[E]
[D]
[R]
📄 mod_http2.h
[E]
[D]
[R]
📄 mod_include.h
[E]
[D]
[R]
📄 mod_log_config.h
[E]
[D]
[R]
📄 mod_proxy.h
[E]
[D]
[R]
📄 mod_request.h
[E]
[D]
[R]
📄 mod_rewrite.h
[E]
[D]
[R]
📄 mod_session.h
[E]
[D]
[R]
📄 mod_so.h
[E]
[D]
[R]
📄 mod_ssl.h
[E]
[D]
[R]
📄 mod_ssl_openssl.h
[E]
[D]
[R]
📄 mod_status.h
[E]
[D]
[R]
📄 mod_unixd.h
[E]
[D]
[R]
📄 mod_watchdog.h
[E]
[D]
[R]
📄 mod_xml2enc.h
[E]
[D]
[R]
📄 mpm_common.h
[E]
[D]
[R]
📄 os.h
[E]
[D]
[R]
📄 scoreboard.h
[E]
[D]
[R]
📄 unixd.h
[E]
[D]
[R]
📄 util_cfgtree.h
[E]
[D]
[R]
📄 util_charset.h
[E]
[D]
[R]
📄 util_cookies.h
[E]
[D]
[R]
📄 util_ebcdic.h
[E]
[D]
[R]
📄 util_fcgi.h
[E]
[D]
[R]
📄 util_filter.h
[E]
[D]
[R]
📄 util_ldap.h
[E]
[D]
[R]
📄 util_md5.h
[E]
[D]
[R]
📄 util_mutex.h
[E]
[D]
[R]
📄 util_script.h
[E]
[D]
[R]
📄 util_time.h
[E]
[D]
[R]
📄 util_varbuf.h
[E]
[D]
[R]
📄 util_xml.h
[E]
[D]
[R]
Editing: mod_watchdog.h
/* Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MOD_WATCHDOG_H #define MOD_WATCHDOG_H /** * @file mod_watchdog.h * @brief Watchdog module for Apache * * @defgroup MOD_WATCHDOG mod_watchdog * @ingroup APACHE_MODS * @{ */ #include "httpd.h" #include "http_config.h" #include "http_log.h" #include "ap_provider.h" #include "apr.h" #include "apr_strings.h" #include "apr_pools.h" #include "apr_shm.h" #include "apr_hash.h" #include "apr_hooks.h" #include "apr_optional.h" #include "apr_file_io.h" #include "apr_time.h" #include "apr_thread_proc.h" #include "apr_global_mutex.h" #include "apr_thread_mutex.h" #ifdef __cplusplus extern "C" { #endif /** * Default singleton watchdog instance name. * Singleton watchdog is protected by mutex and * guaranteed to be run inside a single child process * at any time. */ #define AP_WATCHDOG_SINGLETON "_singleton_" /** * Default watchdog instance name */ #define AP_WATCHDOG_DEFAULT "_default_" /** * Default Watchdog interval */ #define AP_WD_TM_INTERVAL APR_TIME_C(1000000) /* 1 second */ /** * Watchdog thread timer resolution */ #define AP_WD_TM_SLICE APR_TIME_C(100000) /* 100 ms */ /* State values for callback */ #define AP_WATCHDOG_STATE_STARTING 1 #define AP_WATCHDOG_STATE_RUNNING 2 #define AP_WATCHDOG_STATE_STOPPING 3 typedef struct ap_watchdog_t ap_watchdog_t; /* Create a set of AP_WD_DECLARE(type), AP_WD_DECLARE_NONSTD(type) and * AP_WD_DECLARE_DATA with appropriate export and import tags for the platform */ #if !defined(AP_WD_DECLARE) #if !defined(WIN32) #define AP_WD_DECLARE(type) type #define AP_WD_DECLARE_NONSTD(type) type #define AP_WD_DECLARE_DATA #elif defined(AP_WD_DECLARE_STATIC) #define AP_WD_DECLARE(type) type __stdcall #define AP_WD_DECLARE_NONSTD(type) type #define AP_WD_DECLARE_DATA #elif defined(AP_WD_DECLARE_EXPORT) #define AP_WD_DECLARE(type) __declspec(dllexport) type __stdcall #define AP_WD_DECLARE_NONSTD(type) __declspec(dllexport) type #define AP_WD_DECLARE_DATA __declspec(dllexport) #else #define AP_WD_DECLARE(type) __declspec(dllimport) type __stdcall #define AP_WD_DECLARE_NONSTD(type) __declspec(dllimport) type #define AP_WD_DECLARE_DATA __declspec(dllimport) #endif #endif /** * Callback function used for watchdog. * @param state Watchdog state function. See @p AP_WATCHDOG_STATE_ . * @param data is what was passed to @p ap_watchdog_register_callback function. * @param pool Temporary callback pool destroyed after the call. * @return APR_SUCCESS to continue calling this callback. */ typedef apr_status_t ap_watchdog_callback_fn_t(int state, void *data, apr_pool_t *pool); /** * Get watchdog instance. * @param watchdog Storage for watchdog instance. * @param name Watchdog name. * @param parent Non-zero to get the parent process watchdog instance. * @param singleton Non-zero to get the singleton watchdog instance. * @param p The pool to use. * @return APR_SUCCESS if all went well * @remark Use @p AP_WATCHDOG_DEFAULT to get default watchdog instance. * If separate watchdog thread is needed provide unique name * and function will create a new watchdog instance. * Note that default client process watchdog works in singleton mode. */ APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_watchdog_get_instance, (ap_watchdog_t **watchdog, const char *name, int parent, int singleton, apr_pool_t *p)); /** * Register watchdog callback. * @param watchdog Watchdog to use * @param interval Interval on which the callback function will execute. * @param callback The function to call on watchdog event. * @param data The data to pass to the callback function. * @return APR_SUCCESS if all went well. APR_EEXIST if already registered. */ APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_watchdog_register_callback, (ap_watchdog_t *watchdog, apr_interval_time_t interval, const void *data, ap_watchdog_callback_fn_t *callback)); /** * Update registered watchdog callback interval. * @param w Watchdog to use * @param interval New interval on which the callback function will execute. * @param callback The function to call on watchdog event. * @param data The data to pass to the callback function. * @return APR_SUCCESS if all went well. APR_EOF if callback was not found. */ APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_watchdog_set_callback_interval, (ap_watchdog_t *w, apr_interval_time_t interval, const void *data, ap_watchdog_callback_fn_t *callback)); /** * Watchdog require hook. * @param s The server record * @param name Watchdog name. * @param parent Non-zero to indicate the parent process watchdog mode. * @param singleton Non-zero to indicate the singleton watchdog mode. * @return OK to enable notifications from this watchdog, DECLINED otherwise. * @remark This is called in post config phase for all watchdog instances * that have no callbacks registered. Modules using this hook * should ensure that their post_config hook is called after watchdog * post_config. */ APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_need, (server_rec *s, const char *name, int parent, int singleton)) /** * Watchdog initialize hook. * It is called after the watchdog thread is initialized. * @param s The server record * @param name Watchdog name. * @param pool The pool used to create the watchdog. */ APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_init, ( server_rec *s, const char *name, apr_pool_t *pool)) /** * Watchdog terminate hook. * It is called when the watchdog thread is terminated. * @param s The server record * @param name Watchdog name. * @param pool The pool used to create the watchdog. */ APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_exit, ( server_rec *s, const char *name, apr_pool_t *pool)) /** * Fixed interval watchdog hook. * It is called regularly on @p AP_WD_TM_INTERVAL interval. * @param s The server record * @param name Watchdog name. * @param pool Temporary pool destroyed after the call. */ APR_DECLARE_EXTERNAL_HOOK(ap, AP_WD, int, watchdog_step, ( server_rec *s, const char *name, apr_pool_t *pool)) #ifdef __cplusplus } #endif #endif /* MOD_WATCHDOG_H */ /** @} */
Save