com.kenai.jffi.FaultException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jffi Show documentation
Show all versions of jffi Show documentation
Java Foreign Function Interface
package com.kenai.jffi;
public final class FaultException extends RuntimeException {
private final int signal;
FaultException(int signal, long[] ip, long[] procname, long[] libname) {
super(String.format("Received signal %d", signal));
setStackTrace(createStackTrace(ip, procname, libname, fillInStackTrace().getStackTrace()));
this.signal = signal;
}
private static StackTraceElement[] createStackTrace(long[] ip, long[] procname, long[] libname, StackTraceElement[] existingTrace) {
java.util.List trace = new java.util.ArrayList();
for (int i = 0; i < ip.length; i++) {
String procName = new String(Foreign.getZeroTerminatedByteArray(procname[i]));
String libName = new String(Foreign.getZeroTerminatedByteArray(libname[i]));
trace.add(new StackTraceElement("native", procName, libName, -1));
}
trace.addAll(java.util.Arrays.asList(existingTrace));
return trace.toArray(new StackTraceElement[trace.size()]);
}
public int getSignal() {
return signal;
}
}