summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author(no author) <(no author)@unknown>2002-05-01 20:43:13 +0000
committer(no author) <(no author)@unknown>2002-05-01 20:43:13 +0000
commit6ab8a65c6da64e5496a06d524a005a664d439e3d (patch)
tree9b08840990e89310e2eefa7fc1ee37df2fb4880f
parent425741d02e228319905ead3162843d7b443fad02 (diff)
downloadapr-APACHE_2_0_36.tar.gz
This commit was manufactured by cvs2svn to create tagAPACHE_2_0_36
'APACHE_2_0_36'. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/tags/APACHE_2_0_36@63339 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--configure.in1
-rw-r--r--include/apr_signal.h6
-rw-r--r--include/apr_want.h13
-rw-r--r--network_io/beos/poll.c2
-rw-r--r--threadproc/beos/threadcancel.c88
-rw-r--r--threadproc/netware/signals.c3
-rw-r--r--threadproc/os2/threadcancel.c85
-rw-r--r--threadproc/unix/signals.c3
-rw-r--r--threadproc/win32/threadcancel.c86
9 files changed, 24 insertions, 263 deletions
diff --git a/configure.in b/configure.in
index 677b3ede8..245899507 100644
--- a/configure.in
+++ b/configure.in
@@ -338,6 +338,7 @@ case $host in
APR_CHECK_DEFINE(BONE_VERSION, sys/socket.h)
eolstr="\\n"
osver=`uname -r`
+ proc_mutex_is_global=1
case $osver in
5.0.4)
file_as_socket="1"
diff --git a/include/apr_signal.h b/include/apr_signal.h
index 9eaca111c..000542aed 100644
--- a/include/apr_signal.h
+++ b/include/apr_signal.h
@@ -62,9 +62,9 @@
#include "apr.h"
#include "apr_pools.h"
-#if APR_HAVE_SIGNAL_H
-#include <signal.h>
-#endif
+#define APR_WANT_SIGNAL
+#include "apr_want.h"
+
#ifdef __cplusplus
extern "C" {
diff --git a/include/apr_want.h b/include/apr_want.h
index 5d62846b1..5da3d9061 100644
--- a/include/apr_want.h
+++ b/include/apr_want.h
@@ -64,6 +64,7 @@
* APR_WANT_MEMFUNC: memcmp, memcpy, etc
* APR_WANT_STDIO: <stdio.h> and related bits
* APR_WANT_IOVEC: struct iovec
+ * APR_WANT_SIGNAL: signal numbers, functions, and types
* APR_WANT_BYTEFUNC: htons, htonl, ntohl, ntohs
*
* Typical usage:
@@ -128,6 +129,18 @@
/* --------------------------------------------------------------------- */
+#ifdef APR_WANT_SIGNAL
+
+#if APR_HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+/* ### some platforms may put this into unistd.h ?? */
+
+#undef APR_WANT_SIGNAL
+#endif
+
+/* --------------------------------------------------------------------- */
+
#ifdef APR_WANT_BYTEFUNC
/* Single Unix says they are in arpa/inet.h. Linux has them in
diff --git a/network_io/beos/poll.c b/network_io/beos/poll.c
index 2d12bab6d..965156122 100644
--- a/network_io/beos/poll.c
+++ b/network_io/beos/poll.c
@@ -234,7 +234,7 @@ APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t *nsds,
return APR_TIMEUP;
}
if ((*nsds) < 0) {
- return APR_EEXIST;
+ return errno;
}
return APR_SUCCESS;
}
diff --git a/threadproc/beos/threadcancel.c b/threadproc/beos/threadcancel.c
deleted file mode 100644
index 94a7e9407..000000000
--- a/threadproc/beos/threadcancel.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2000 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "threadproc.h"
-
-
-ap_status_t ap_cancel_thread(ap_thread_t *thd)
-{
- if (kill_thread(thd->td) == 0) {
- return APR_SUCCESS;
- }
- else {
- return errno;
- }
-}
-
-
-ap_status_t ap_setcanceltype(ap_int32_t type, ap_pool_t *cont)
-{
-/* if (pthread_setcanceltype(type, NULL) == 0) {*/
- return APR_SUCCESS;
-/* }
- else {
- return APR_FAILURE;
- }*/
-}
-
-ap_status_t ap_setcancelstate(ap_int32_t type, ap_pool_t *cont)
-{
-/* if (pthread_setcanceltype(type, NULL) == 0) {*/
- return APR_SUCCESS;
-/* }
- else {
- return APR_FAILURE;
- }*/
-}
-
diff --git a/threadproc/netware/signals.c b/threadproc/netware/signals.c
index 20f94641a..b6aaefdfb 100644
--- a/threadproc/netware/signals.c
+++ b/threadproc/netware/signals.c
@@ -59,6 +59,9 @@
#include "apr_signal.h"
#include "apr_strings.h"
+#define APR_WANT_SIGNAL
+#include "apr_want.h"
+
#include <assert.h>
#if APR_HAS_THREADS && APR_HAVE_PTHREAD_H
#include <pthread.h>
diff --git a/threadproc/os2/threadcancel.c b/threadproc/os2/threadcancel.c
deleted file mode 100644
index ca7a18753..000000000
--- a/threadproc/os2/threadcancel.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2000 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "threadproc.h"
-#include "apr_thread_proc.h"
-#include "apr_general.h"
-#include "fileio.h"
-
-ap_status_t ap_cancel_thread(ap_thread_t *thd)
-{
- return APR_OS2_STATUS(DosKillThread(thd->tid));
-}
-
-
-
-ap_status_t ap_setcanceltype(ap_int32_t type, ap_pool_t *cont)
-{
- ULONG rc, nesting;
-
- if (type == APR_CANCEL_DEFER)
- rc = DosEnterMustComplete(&nesting);
- else
- rc = DosExitMustComplete(&nesting);
-
- return APR_OS2_STATUS(rc);
-}
-
-
-
-ap_status_t ap_setcancelstate(ap_int32_t type, ap_pool_t *cont)
-{
-/* There's no way to ignore thread kills altogether in OS/2 (that I know of) */
- return APR_ENOTIMPL;
-}
diff --git a/threadproc/unix/signals.c b/threadproc/unix/signals.c
index f42e82b5f..5659c9200 100644
--- a/threadproc/unix/signals.c
+++ b/threadproc/unix/signals.c
@@ -59,6 +59,9 @@
#include "apr_signal.h"
#include "apr_strings.h"
+#define APR_WANT_SIGNAL
+#include "apr_want.h"
+
#include <assert.h>
#if APR_HAS_THREADS && APR_HAVE_PTHREAD_H
#include <pthread.h>
diff --git a/threadproc/win32/threadcancel.c b/threadproc/win32/threadcancel.c
deleted file mode 100644
index 3a509202b..000000000
--- a/threadproc/win32/threadcancel.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* ====================================================================
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 2000 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- * nor may "Apache" appear in their name, without prior written
- * permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-#include "threadproc.h"
-#include "apr_thread_proc.h"
-#include "apr_general.h"
-
-
-ap_status_t ap_cancel_thread(ap_thread_t *thd)
-{
- if (TerminateThread(thd->td, APR_SUCCESS) == 0) {
- return APR_EEXIST;
- }
- else {
- return APR_SUCCESS;
- }
-}
-
-/* Not sure of the best way to do this just yet.
-ap_status_t ap_setcanceltype(ap_int32_t type, ap_pool_t *cont)
-{
-
-}
-
-ap_status_t ap_setcancelstate(ap_int32_t type, ap_pool_t *cont)
-{
- ap_status_t stat;
- if ((stat = pthread_setcanceltype(type, NULL)) == 0) {
- return APR_SUCCESS;
- }
- else {
- return stat;
- }
-}
-*/