~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/apr/src/include/apr_signal.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Licensed to the Apache Software Foundation (ASF) under one or more
2
 
 * contributor license agreements.  See the NOTICE file distributed with
3
 
 * this work for additional information regarding copyright ownership.
4
 
 * The ASF licenses this file to You under the Apache License, Version 2.0
5
 
 * (the "License"); you may not use this file except in compliance with
6
 
 * the License.  You may obtain a copy of the License at
7
 
 *
8
 
 *     http://www.apache.org/licenses/LICENSE-2.0
9
 
 *
10
 
 * Unless required by applicable law or agreed to in writing, software
11
 
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 
 * See the License for the specific language governing permissions and
14
 
 * limitations under the License.
15
 
 */
16
 
 
17
 
#ifndef APR_SIGNAL_H
18
 
#define APR_SIGNAL_H
19
 
 
20
 
/**
21
 
 * @file apr_signal.h
22
 
 * @brief APR Signal Handling
23
 
 */
24
 
 
25
 
#include "apr.h"
26
 
#include "apr_pools.h"
27
 
 
28
 
#if APR_HAVE_SIGNAL_H
29
 
#include <signal.h>
30
 
#endif
31
 
 
32
 
#ifdef __cplusplus
33
 
extern "C" {
34
 
#endif /* __cplusplus */
35
 
 
36
 
/**
37
 
 * @defgroup apr_signal Signal Handling
38
 
 * @ingroup APR
39
 
 * @{
40
 
 */
41
 
 
42
 
#if APR_HAVE_SIGACTION || defined(DOXYGEN)
43
 
 
44
 
#if defined(DARWIN) && !defined(__cplusplus) && !defined(_ANSI_SOURCE)
45
 
/* work around Darwin header file bugs
46
 
 *   http://www.opensource.apple.com/bugs/X/BSD%20Kernel/2657228.html
47
 
 */
48
 
#undef SIG_DFL
49
 
#undef SIG_IGN
50
 
#undef SIG_ERR
51
 
#define SIG_DFL (void (*)(int))0
52
 
#define SIG_IGN (void (*)(int))1
53
 
#define SIG_ERR (void (*)(int))-1
54
 
#endif
55
 
 
56
 
/** Function prototype for signal handlers */
57
 
typedef void apr_sigfunc_t(int);
58
 
 
59
 
/**
60
 
 * Set the signal handler function for a given signal
61
 
 * @param signo The signal (eg... SIGWINCH)
62
 
 * @param func the function to get called
63
 
 */
64
 
APR_DECLARE(apr_sigfunc_t *) apr_signal(int signo, apr_sigfunc_t * func);
65
 
 
66
 
#if defined(SIG_IGN) && !defined(SIG_ERR)
67
 
#define SIG_ERR ((apr_sigfunc_t *) -1)
68
 
#endif
69
 
 
70
 
#else /* !APR_HAVE_SIGACTION */
71
 
#define apr_signal(a, b) signal(a, b)
72
 
#endif
73
 
 
74
 
 
75
 
/**
76
 
 * Get the description for a specific signal number
77
 
 * @param signum The signal number
78
 
 * @return The description of the signal
79
 
 */
80
 
APR_DECLARE(const char *) apr_signal_description_get(int signum);
81
 
 
82
 
/**
83
 
 * APR-private function for initializing the signal package
84
 
 * @internal
85
 
 * @param pglobal The internal, global pool
86
 
 */
87
 
void apr_signal_init(apr_pool_t *pglobal);
88
 
 
89
 
/**
90
 
 * Block the delivery of a particular signal
91
 
 * @param signum The signal number
92
 
 * @return status
93
 
 */
94
 
APR_DECLARE(apr_status_t) apr_signal_block(int signum);
95
 
 
96
 
/**
97
 
 * Enable the delivery of a particular signal
98
 
 * @param signum The signal number
99
 
 * @return status
100
 
 */
101
 
APR_DECLARE(apr_status_t) apr_signal_unblock(int signum);
102
 
 
103
 
/** @} */
104
 
 
105
 
#ifdef __cplusplus
106
 
}
107
 
#endif /* __cplusplus */
108
 
 
109
 
#endif /* APR_SIGNAL_H */