[Git][java-team/jnr-enxio][upstream] 10 commits: New upstream version 0.32.4
Emmanuel Bourg (@ebourg)
gitlab at salsa.debian.org
Tue May 31 07:07:26 BST 2022
Emmanuel Bourg pushed to branch upstream at Debian Java Maintainers / jnr-enxio
Commits:
ddef4e3c by Emmanuel Bourg at 2022-05-31T00:57:23+02:00
New upstream version 0.32.4
- - - - -
54ab3a11 by Emmanuel Bourg at 2022-05-31T00:57:27+02:00
New upstream version 0.32.5
- - - - -
e433b3fa by Emmanuel Bourg at 2022-05-31T00:57:31+02:00
New upstream version 0.32.6
- - - - -
bef3a68e by Emmanuel Bourg at 2022-05-31T00:57:35+02:00
New upstream version 0.32.7
- - - - -
17bb784f by Emmanuel Bourg at 2022-05-31T00:57:38+02:00
New upstream version 0.32.8
- - - - -
2ffcea5b by Emmanuel Bourg at 2022-05-31T00:57:43+02:00
New upstream version 0.32.9
- - - - -
d0586b99 by Emmanuel Bourg at 2022-05-31T00:57:46+02:00
New upstream version 0.32.10
- - - - -
d69a4d6b by Emmanuel Bourg at 2022-05-31T00:57:50+02:00
New upstream version 0.32.11
- - - - -
055b03f3 by Emmanuel Bourg at 2022-05-31T00:57:53+02:00
New upstream version 0.32.12
- - - - -
fb000e8b by Emmanuel Bourg at 2022-05-31T00:58:51+02:00
New upstream version 0.32.13
- - - - -
2 changed files:
- pom.xml
- src/main/java/jnr/enxio/channels/KQSelector.java
Changes:
=====================================
pom.xml
=====================================
@@ -10,7 +10,7 @@
<groupId>com.github.jnr</groupId>
<artifactId>jnr-enxio</artifactId>
<packaging>jar</packaging>
- <version>0.32.3</version>
+ <version>0.32.13</version>
<name>jnr-enxio</name>
<description>Native I/O access for java</description>
<url>http://github.com/jnr/jnr-enxio</url>
@@ -53,12 +53,12 @@
<dependency>
<groupId>com.github.jnr</groupId>
<artifactId>jnr-constants</artifactId>
- <version>0.10.1</version>
+ <version>0.10.3</version>
</dependency>
<dependency>
<groupId>com.github.jnr</groupId>
<artifactId>jnr-ffi</artifactId>
- <version>2.2.1</version>
+ <version>2.2.11</version>
</dependency>
</dependencies>
@@ -145,6 +145,23 @@
<release>${maven.compiler.target}</release>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.2.0</version>
+ <configuration>
+ <!-- Use -release compiler option rather than source/target if 9+ -->
+ <release>${maven.compiler.target}</release>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.0.0-M5</version>
+ <configuration>
+ <!-- open up java.io so we can access file descriptor during testing -->
+ <argLine>--add-opens java.base/java.io=ALL-UNNAMED</argLine>
+ </configuration>
+ </plugin>
</plugins>
</build>
<activation>
=====================================
src/main/java/jnr/enxio/channels/KQSelector.java
=====================================
@@ -24,6 +24,7 @@ import jnr.ffi.Pointer;
import jnr.ffi.StructLayout;
import jnr.ffi.TypeAlias;
import jnr.ffi.provider.jffi.NativeRuntime;
+import jnr.ffi.Platform;
import java.io.IOException;
import java.nio.channels.SelectionKey;
@@ -156,7 +157,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
ts = new Native.Timespec(sec, nsec);
}
- if (DEBUG) System.out.printf("nchanged=%d\n", nchanged);
+ if (DEBUG) System.err.printf("nchanged=%d\n", nchanged);
int nready = 0;
try {
begin();
@@ -166,7 +167,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
} while (nready < 0 && Errno.EINTR.equals(Errno.valueOf(Native.getRuntime().getLastError())));
- if (DEBUG) System.out.println("kevent returned " + nready + " events ready");
+ if (DEBUG) System.err.println("kevent returned " + nready + " events ready");
} finally {
end();
@@ -180,7 +181,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
if (d != null) {
int filt = io.getFilter(eventbuf, i);
- if (DEBUG) System.out.printf("fd=%d filt=0x%x\n", d.fd, filt);
+ if (DEBUG) System.err.printf("fd=%d filt=0x%x\n", d.fd, filt);
for (KQSelectionKey k : d.keys) {
int iops = k.interestOps();
int ops = 0;
@@ -199,7 +200,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
}
} else if (fd == pipefd[0]) {
- if (DEBUG) System.out.println("Waking up");
+ if (DEBUG) System.err.println("Waking up");
wakeupReceived();
}
}
@@ -272,7 +273,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
changed.write = false;
}
}
- if (DEBUG) System.out.printf("Updating fd %d filt=0x%x flags=0x%x\n",
+ if (DEBUG) System.err.printf("Updating fd %d filt=0x%x flags=0x%x\n",
changed.fd, filt, flags);
if (flags != 0) {
io.put(changebuf, _nchanged++, changed.fd, filt, flags);
@@ -301,8 +302,35 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
private static final class EventIO {
private static final EventIO INSTANCE = new EventIO();
- private final EventLayout layout = new EventLayout(NativeRuntime.getSystemRuntime());
- private final jnr.ffi.Type uintptr_t = layout.getRuntime().findType(TypeAlias.uintptr_t);
+ private final EventLayout layout;
+ private final jnr.ffi.Type uintptr_t;
+
+ private EventIO() {
+ boolean is_freebsd_12_or_later = false;
+ if(Platform.getNativePlatform().getOS() == Platform.OS.FREEBSD) {
+ String version = System.getProperty("os.version");
+ if(version != null) {
+ int tr_i = -1;
+ for(char c : new char[] { ' ', '_', '-', '+', '.' }) {
+ int i = version.indexOf(c);
+ if(i >= 0 && (tr_i == -1 || tr_i > i)) tr_i = i;
+ }
+ if(tr_i >= 0) version = version.substring(0, tr_i);
+ try {
+ int freebsd_major_version = Integer.parseInt(version);
+ if(freebsd_major_version > 11) is_freebsd_12_or_later = true;
+ } catch(NumberFormatException e) {
+ if(DEBUG) e.printStackTrace();
+ }
+ }
+ }
+ if(is_freebsd_12_or_later) {
+ layout = new FreeBSD12EventLayout(NativeRuntime.getSystemRuntime());
+ } else {
+ layout = new LegacyEventLayout(NativeRuntime.getSystemRuntime());
+ }
+ uintptr_t = layout.getRuntime().findType(TypeAlias.uintptr_t);
+ }
public static EventIO getInstance() {
return EventIO.INSTANCE;
@@ -311,7 +339,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
public final void put(Pointer buf, int index, int fd, int filt, int flags) {
buf.putInt(uintptr_t, (index * layout.size()) + layout.ident.offset(), fd);
buf.putShort((index * layout.size()) + layout.filter.offset(), (short) filt);
- buf.putInt((index * layout.size()) + layout.flags.offset(), flags);
+ buf.putShort((index * layout.size()) + layout.flags.offset(), (short)flags);
}
public final int size() {
@@ -335,7 +363,7 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
}
}
- private static class EventLayout extends StructLayout {
+ private static abstract class EventLayout extends StructLayout {
private EventLayout(jnr.ffi.Runtime runtime) {
super(runtime);
}
@@ -343,7 +371,22 @@ class KQSelector extends java.nio.channels.spi.AbstractSelector {
public final int16_t filter = new int16_t();
public final u_int16_t flags = new u_int16_t();
public final u_int32_t fflags = new u_int32_t();
+ }
+
+ private static class LegacyEventLayout extends EventLayout {
+ private LegacyEventLayout(jnr.ffi.Runtime runtime) {
+ super(runtime);
+ }
public final intptr_t data = new intptr_t();
public final Pointer udata = new Pointer();
}
+
+ private static class FreeBSD12EventLayout extends EventLayout {
+ private FreeBSD12EventLayout(jnr.ffi.Runtime runtime) {
+ super(runtime);
+ }
+ public final int64_t data = new int64_t();
+ public final Pointer udata = new Pointer();
+ public final u_int64_t[] ext = array(new u_int64_t[4]);
+ }
}
View it on GitLab: https://salsa.debian.org/java-team/jnr-enxio/-/compare/34d54028177f3cd42397fd7bf92e74af89868241...fb000e8bee4456806e03a4dcd73aa13367763fb9
--
View it on GitLab: https://salsa.debian.org/java-team/jnr-enxio/-/compare/34d54028177f3cd42397fd7bf92e74af89868241...fb000e8bee4456806e03a4dcd73aa13367763fb9
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20220531/894ce218/attachment.htm>
More information about the pkg-java-commits
mailing list