aboutsummaryrefslogtreecommitdiffstats
path: root/java/jdk16
diff options
context:
space:
mode:
authorglewis <glewis@FreeBSD.org>2004-10-17 00:58:12 +0800
committerglewis <glewis@FreeBSD.org>2004-10-17 00:58:12 +0800
commitebfff14057447438167768620af371d2ce4970f3 (patch)
treed2caa941258b502b42139008ae18c1e60ed82720 /java/jdk16
parent6a51aa0073dbd0a60f9ba0c6cb0f074d8f9a9d8a (diff)
downloadfreebsd-ports-gnome-ebfff14057447438167768620af371d2ce4970f3.tar.gz
freebsd-ports-gnome-ebfff14057447438167768620af371d2ce4970f3.tar.zst
freebsd-ports-gnome-ebfff14057447438167768620af371d2ce4970f3.zip
. At least on FreeBSD, O_SYNC and O_DSYNC aren't both defined
(for FreeBSD 4.x neither are defined and for FreeBSD 5.x O_DSYNC isn't defined). This caused them to be defined to some bogus values. In particular, O_SYNC would be defined as 0x800, which is O_EXCL (at least on FreeBSD 4.x). The result being that the RandomAccessFile class would fail to open an existing file if you specified "s" as part of the mode. Fix this by defining O_SYNC and O_DSYNC to O_FSYNC if they aren't defined.
Diffstat (limited to 'java/jdk16')
-rw-r--r--java/jdk16/files/patch-io_io_util.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/jdk16/files/patch-io_io_util.h b/java/jdk16/files/patch-io_io_util.h
new file mode 100644
index 000000000000..80f00417aa2b
--- /dev/null
+++ b/java/jdk16/files/patch-io_io_util.h
@@ -0,0 +1,21 @@
+$FreeBSD$
+
+--- ../../j2se/src/share/native/java/io/io_util.h.orig Wed Jul 21 08:32:49 2004
++++ ../../j2se/src/share/native/java/io/io_util.h Wed Jul 21 08:37:54 2004
+@@ -10,7 +10,15 @@
+
+ extern jfieldID IO_fd_fdID;
+
+-#if !defined(O_DSYNC) || !defined(O_SYNC)
++#ifdef _BSD_SOURCE
++#include <fcntl.h>
++#ifndef O_SYNC
++#define O_SYNC O_FSYNC
++#endif
++#ifndef O_DSYNC
++#define O_DSYNC O_FSYNC
++#endif
++#elif !defined(O_DSYNC) || !defined(O_SYNC)
+ #define O_SYNC (0x0800)
+ #define O_DSYNC (0x2000)
+ #endif