summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68>2005-01-21 03:50:34 +0000
committerpquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68>2005-01-21 03:50:34 +0000
commit44461869e8e0b4f663b7a9086ffa24b0e1ea21ff (patch)
treeb6a3980b3ff9437d5482a0cc39830a430997f814
parent244aa37198692b9403364df428d61d71f80e07be (diff)
downloadlibapr-44461869e8e0b4f663b7a9086ffa24b0e1ea21ff.tar.gz
Add Support for DragonFly BSD.
PR: #29858 Submitted By: Jeroen Ruigrok <asmodai tendra.org> git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@125880 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--dso/unix/dso.c3
-rw-r--r--include/arch/unix/apr_arch_dso.h3
-rw-r--r--network_io/unix/sendrecv.c7
3 files changed, 8 insertions, 5 deletions
diff --git a/dso/unix/dso.c b/dso/unix/dso.c
index 2581149fb..ce9470776 100644
--- a/dso/unix/dso.c
+++ b/dso/unix/dso.c
@@ -117,7 +117,8 @@ APR_DECLARE(apr_status_t) apr_dso_load(apr_dso_handle_t **res_handle,
#elif defined(DSO_USE_DLFCN)
#if defined(OSF1) || defined(SEQUENT) || defined(SNI) ||\
- (defined(__FreeBSD_version) && (__FreeBSD_version >= 220000))
+ (defined(__FreeBSD_version) && (__FreeBSD_version >= 220000)) ||\
+ defined(__DragonFly__)
void *os_handle = dlopen((char *)path, RTLD_NOW | RTLD_GLOBAL);
#else
diff --git a/include/arch/unix/apr_arch_dso.h b/include/arch/unix/apr_arch_dso.h
index 2a1667876..30f9f8bf9 100644
--- a/include/arch/unix/apr_arch_dso.h
+++ b/include/arch/unix/apr_arch_dso.h
@@ -44,7 +44,8 @@
#define RTLD_GLOBAL 0
#endif
-#if (defined(__FreeBSD__) ||\
+#if (defined(__DragonFly__) ||\
+ defined(__FreeBSD__) ||\
defined(__OpenBSD__) ||\
defined(__NetBSD__) ) && !defined(__ELF__)
#define DLSYM_NEEDS_UNDERSCORE
diff --git a/network_io/unix/sendrecv.c b/network_io/unix/sendrecv.c
index f70c84716..03d132385 100644
--- a/network_io/unix/sendrecv.c
+++ b/network_io/unix/sendrecv.c
@@ -387,7 +387,7 @@ do_select:
return rv < 0 ? errno : APR_SUCCESS;
}
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
/* Release 3.1 or greater */
apr_status_t apr_socket_sendfile(apr_socket_t * sock, apr_file_t * file,
@@ -406,7 +406,7 @@ apr_status_t apr_socket_sendfile(apr_socket_t * sock, apr_file_t * file,
hdtr = &no_hdtr;
}
-#if __FreeBSD_version < 460001
+#if defined(__FreeBSD_version) && __FreeBSD_version < 460001
else if (hdtr->numheaders) {
/* On early versions of FreeBSD sendfile, the number of bytes to send
@@ -953,6 +953,7 @@ apr_status_t apr_socket_sendfile(apr_socket_t *sock, apr_file_t *file,
#error APR has detected sendfile on your system, but nobody has written a
#error version of it for APR yet. To get past this, either write
#error apr_socket_sendfile or change APR_HAS_SENDFILE in apr.h to 0.
-#endif /* __linux__, __FreeBSD__, __HPUX__, _AIX, __MVS__, Tru64/OSF1 */
+#endif /* __linux__, __FreeBSD__, __DragonFly__, __HPUX__, _AIX, __MVS__,
+ Tru64/OSF1 */
#endif /* APR_HAS_SENDFILE */