summaryrefslogtreecommitdiff
path: root/java/openjdk8/files
diff options
context:
space:
mode:
authorAlex Dupre <ale@FreeBSD.org>2018-12-27 09:52:52 +0000
committerAlex Dupre <ale@FreeBSD.org>2018-12-27 09:52:52 +0000
commitad43f6fd6e9b495c737d45e14f563c63f298c083 (patch)
tree2053bbf6e05831e38264f5a50b41809e5a19bfc1 /java/openjdk8/files
parentsecurity/pwned-check: Remove spaces from sample config file (diff)
Add a WatchService implementation backed by kqueue,
leveraging the libinotify wrapper. It's still possible to use the polling watchservice, by defining the following system property: sun.nio.fs.watchservice=polling
Notes
Notes: svn path=/head/; revision=488523
Diffstat (limited to 'java/openjdk8/files')
-rw-r--r--java/openjdk8/files/patch-jdk-make-CompileJavaClasses.gmk18
-rw-r--r--java/openjdk8/files/patch-jdk-make-lib-NioLibraries.gmk14
-rw-r--r--java/openjdk8/files/patch-jdk-make-mapfiles-libnio-mapfile-bsd17
-rw-r--r--java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystem.java15
4 files changed, 64 insertions, 0 deletions
diff --git a/java/openjdk8/files/patch-jdk-make-CompileJavaClasses.gmk b/java/openjdk8/files/patch-jdk-make-CompileJavaClasses.gmk
new file mode 100644
index 000000000000..82be1f09b4be
--- /dev/null
+++ b/java/openjdk8/files/patch-jdk-make-CompileJavaClasses.gmk
@@ -0,0 +1,18 @@
+--- ./jdk/make/CompileJavaClasses.gmk.orig 2018-12-13 14:57:18.491487000 +0100
++++ ./jdk/make/CompileJavaClasses.gmk 2018-12-13 14:58:08.484490000 +0100
+@@ -129,12 +129,12 @@
+ sun/nio/fs/LinuxFileSystem.java \
+ sun/nio/fs/LinuxFileSystemProvider.java \
+ sun/nio/fs/LinuxNativeDispatcher.java \
+- sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
+- sun/nio/fs/LinuxWatchService.java
++ sun/nio/fs/LinuxUserDefinedFileAttributeView.java
+ endif
+
+ ifeq (, $(filter $(OPENJDK_TARGET_OS), linux bsd))
+- EXFILES += sun/nio/fs/MagicFileTypeDetector.java
++ EXFILES += sun/nio/fs/MagicFileTypeDetector.java \
++ sun/nio/fs/LinuxWatchService.java
+ endif
+
+ ifneq ($(OPENJDK_TARGET_OS), macosx)
diff --git a/java/openjdk8/files/patch-jdk-make-lib-NioLibraries.gmk b/java/openjdk8/files/patch-jdk-make-lib-NioLibraries.gmk
new file mode 100644
index 000000000000..38b9b50996b4
--- /dev/null
+++ b/java/openjdk8/files/patch-jdk-make-lib-NioLibraries.gmk
@@ -0,0 +1,14 @@
+--- ./jdk/make/lib/NioLibraries.gmk.orig 2018-12-13 14:21:04.047810000 +0100
++++ ./jdk/make/lib/NioLibraries.gmk 2018-12-13 14:48:16.288168000 +0100
+@@ -92,8 +92,11 @@
+ PollArrayWrapper.c \
+ UnixAsynchronousServerSocketChannelImpl.c \
+ UnixAsynchronousSocketChannelImpl.c \
++ LinuxWatchService.c \
+ UnixCopyFile.c \
+ UnixNativeDispatcher.c
++ BUILD_LIBNIO_CFLAGS += -I%%LOCALBASE%%/include
++ BUILD_LIBNIO_LDFLAGS += -L%%LOCALBASE%%/lib -linotify
+ endif
+
+ ifeq ($(OPENJDK_TARGET_OS), macosx)
diff --git a/java/openjdk8/files/patch-jdk-make-mapfiles-libnio-mapfile-bsd b/java/openjdk8/files/patch-jdk-make-mapfiles-libnio-mapfile-bsd
new file mode 100644
index 000000000000..94f6626b9fce
--- /dev/null
+++ b/java/openjdk8/files/patch-jdk-make-mapfiles-libnio-mapfile-bsd
@@ -0,0 +1,17 @@
+--- ./jdk/make/mapfiles/libnio/mapfile-bsd.orig 2018-12-13 15:20:56.817147000 +0100
++++ ./jdk/make/mapfiles/libnio/mapfile-bsd 2018-12-13 15:22:41.507010000 +0100
+@@ -143,6 +143,14 @@
+ Java_sun_nio_fs_MagicFileTypeDetector_initialize0;
+ Java_sun_nio_fs_MagicFileTypeDetector_probe0;
+ Java_sun_nio_fs_UnixCopyFile_transfer;
++ Java_sun_nio_fs_LinuxWatchService_eventSize;
++ Java_sun_nio_fs_LinuxWatchService_eventOffsets;
++ Java_sun_nio_fs_LinuxWatchService_inotifyInit;
++ Java_sun_nio_fs_LinuxWatchService_inotifyAddWatch;
++ Java_sun_nio_fs_LinuxWatchService_inotifyRmWatch;
++ Java_sun_nio_fs_LinuxWatchService_configureBlocking;
++ Java_sun_nio_fs_LinuxWatchService_socketpair;
++ Java_sun_nio_fs_LinuxWatchService_poll;
+ Java_sun_nio_fs_UnixNativeDispatcher_access0;
+ Java_sun_nio_fs_UnixNativeDispatcher_chmod0;
+ Java_sun_nio_fs_UnixNativeDispatcher_chown0;
diff --git a/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystem.java b/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystem.java
new file mode 100644
index 000000000000..9fd4b9b78818
--- /dev/null
+++ b/java/openjdk8/files/patch-jdk-src-solaris-classes-sun-nio-fs-BsdFileSystem.java
@@ -0,0 +1,15 @@
+--- ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystem.java.orig 2018-12-13 14:23:02.834223000 +0100
++++ ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystem.java 2018-12-13 17:34:09.359192000 +0100
+@@ -45,8 +45,10 @@
+ public WatchService newWatchService()
+ throws IOException
+ {
+- // use polling implementation until we implement a BSD/kqueue one
+- return new PollingWatchService();
++ if (System.getProperty("sun.nio.fs.watchservice", "").equals("polling"))
++ return new PollingWatchService();
++ else
++ return new LinuxWatchService(this); // use the linux inotify implementation that wraps the kqueue calls
+ }
+
+ // lazy initialization of the list of supported attribute views