@Override protected void cleanup() { try { try { kqueueFd.close(); } catch (IOException e) { logger.warn("Failed to close the kqueue fd.", e); } } finally { // Cleanup all native memory! // The JNI channel pointers should already be deleted because we should wait on kevent before this method, // but lets just be sure we cleanup native memory. deleteJniChannelPointers(); jniChannelPointers.free(); changeList.free(); eventList.free(); } }
@Override protected void cleanup() { try { try { kqueueFd.close(); } catch (IOException e) { logger.warn("Failed to close the kqueue fd.", e); } } finally { // Cleanup all native memory! // The JNI channel pointers should already be deleted because we should wait on kevent before this method, // but lets just be sure we cleanup native memory. deleteJniChannelPointers(); jniChannelPointers.free(); changeList.free(); eventList.free(); } }
@Override protected void cleanup() { try { try { kqueueFd.close(); } catch (IOException e) { logger.warn("Failed to close the kqueue fd.", e); } } finally { // Cleanup all native memory! // The JNI channel pointers should already be deleted because we should wait on kevent before this method, // but lets just be sure we cleanup native memory. deleteJniChannelPointers(); jniChannelPointers.free(); changeList.free(); eventList.free(); } }
@Override protected void cleanup() { try { try { kqueueFd.close(); } catch (IOException e) { logger.warn("Failed to close the kqueue fd.", e); } } finally { // Cleanup all native memory! // The JNI channel pointers should already be deleted because we should wait on kevent before this method, // but lets just be sure we cleanup native memory. deleteJniChannelPointers(); jniChannelPointers.free(); changeList.free(); eventList.free(); } }