1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292
|
2019-01-31 v2.3.1
------------------------------------------------------------------------
* Socket errors support
* Packaging updates
* Put the man page somewhere it can be found
* Move man page to development package
* For Debian, put headers in a separate dev package
* Fix package description for Debian packaging
* knote: rethink KNFL_SOCKET flag
knote: support more kn_flags and socket errors
* fix naming for write evfilt callbacks
2018-11-25 v2.3.0
------------------------------------------------------------------------
* kevent: refactor to remove goto statement
(Credit: Cameron Nemo)
* Multiple fixes for compilation issues with GCC 8.1
(Credit: Arran Cudbard-Bell)
* Add a monitoring thread that takes care of cleaning up closed kqueues
(Credit: Philippe Wooding)
* Multiple bug fixes for leaking descriptors in kn_delete()
(Credit: Philippe Wooding)
* Fix build errors on Linux systems that do not use glibc
(Credit: maxice8)
2017-11-26 v2.2.0
------------------------------------------------------------------------
* Fixed: the EOF flag should only be set on stream sockets with a zero length r
ead
Author: Arran Cudbard-Bell <a.cudbardb@freeradius.org>
* Fix to deal with inotify events containing filenames correctly.
Author: Arran Cudbard-Bell <a.cudbardb@freeradius.org>
* Fix to allow libpcap FDs to be used.
Author: Philippe Wooding <philippe.wooding@networkradius.com>
* Switch to CMake as the build and packaging system.
2016-07-24 v2.1.0
------------------------------------------------------------------------
* Fix an endianness issue when calling ioctl on Linux.
(Credit: Vivian Kong)
* Allow tests to be built from separate build directory.
(Credit: Chris Bailey)
* Add support for kevent64(2) timers from Darwin.
(Credit: Hubertus Franke)
* Set EPOLLONESHOT for EPOLL_CTL_ADD after knote creation.
(Credit: Ian Partridge)
* Add configure arg to disable install and build noinst ltlibrary.
(Credit: Ian Partridge)
* Allow libkqueue to be used as a submodule within another build process.
(Credit: Ian Partridge)
* Fix a build failure on Linux/AArch64 using Ubuntu 16.04.
(Credit: Galen Rhodes)
2016-02-06 v2.0.4
------------------------------------------------------------------------
* Fix incorrect boolean logic in src/linux/read.c
(Credit: marcos69, closes #5)
* Fix a build failure on mips64el.
(Credit: YunQiang Su, from Debian Bug #754376)
2014-03-09 v2.0.3
------------------------------------------------------------------------
* Fix the generation of libkqueue.pc
2014-02-23 v2.0.2
------------------------------------------------------------------------
* Switch from SVN to Git
* Switch hosting providers to Github
* Switch to autoconf/automake
2013-05-08 v2.0.1 r646
------------------------------------------------------------------------
* Improvements to the RPM package spec
(Credit: Eric Wong)
2013-04-29 v2.0 r639
------------------------------------------------------------------------
* Use ppoll(2) where possible to improve scalability.
(Credit: Eric Wong)
* Optimize kevent() when it is called with a zero timeout.
(Credit: Eric Wong)
* Avoid calling getsockopt() on file descriptors that are not sockets.
(Credit: Eric Wong)
* Call epoll_wait after linux_kevent_wait_hires()
(Credit: Eric Wong)
* Detect regular files correctly
(Credit: Eric Wong)
* Ensure that calling close() on a file descriptor will remove any
kevents that reference the descriptor. [merged from ^/branches/stable@551]
* Remove the SERIALIZE_KEVENT macro, and always protect kevent_copyin()
and kevent_copyout() with a mutex.
* Remove fine-grained locking at the knote level.
* Add a counter that increments on each each kevent() call. When printing
debug information within kevent(), display the value of the counter.
This will be helpful when debugging a multithreaded program that may have
multiple kevent() calls executing in parallel. (Credit: Julien Blache)
2010-09-18 v1.0 r344
------------------------------------------------------------------------
* Support older Linux kernels that do not have the EPOLLRDHUP flag.
* Add a portable implementation of the EVFILT_TIMER filter.
* Add Solaris to the list of supported platforms.
* Fixed the 'make rpm' target to work on CentOS 5.
* Modified the manpage to remove unimplemented features.
2010-08-05 v0.9.3 r309
------------------------------------------------------------------------
* Fix a typo in kevent_copyin() that caused EV_RECEIPT to set the
data field incorrectly in some cases.
(Credit to Julien Blache for discovering and fixing this bug)
2010-08-05 v0.9.2 r289
------------------------------------------------------------------------
* Fix some build failures on 32-bit platforms related to the debugging
codepaths being enabled by default.
2010-08-04 v0.9.1 r286
------------------------------------------------------------------------
* Prevent dumping of EVFILT_VNODE debugging information to STDOUT.
* Fix the 'make clean' target in the testsuite.
2010-08-01 v0.9 r285
------------------------------------------------------------------------
* Set kevent.data = 1 for passive sockets that have at least one pending
connection.
(Credit to Julien Blache for finding and researching this bug)
* Fix various compilation errors under Solaris.
(Credit to Joakim Johansson for testing and providing patches)
* Use the KQUEUE_DEBUG environment variable to turn on debugging output.
2010-07-21 v0.8 r264
------------------------------------------------------------------------
* Fix a bug that prevented a knote with the EV_DISPATCH flag from
being re-enabled after an event had been triggered.
(Credit to Julien Blache for finding and researching this bug)
2010-06-08 v0.7 r248
------------------------------------------------------------------------
* Add Debian packaging to the ports/ directory and improve the 'make deb'
target.
* Set the library soname version.
* Switch from -fPIC to -fpic as the default in CFLAGS.
2010-03-28 v0.6 r238
------------------------------------------------------------------------
* Experimental Linux kernel module.
* Implement knote modification for signals.
* Implement POSIX signal.c
2010-02-09 v0.5 r200
------------------------------------------------------------------------
* Prevent namespace pollution by hiding all ELF symbols except for
kqueue() and kevent().
* Add reference counting to the garbage collection mechanism so that
a kqueue object is never destroyed while multiple threads are using
it.
* Improve scalability by using red-black trees instead of linked lists.
* Refactor the internal API to promote modularity and code reuse.
Five methods are added to each filter: create, modify, delete,
enable, disable. These replace the copyin() method, which was
overly complicated.
* Remove the fine-grained locking at the filter level, and replace
it with coarse locking inside kevent(). This simplifys the locking
implementation and provides a stronger guarantee of reentrancy.
* Initial attempt at writing a Linux kernel module. It fails to
link because sys_epoll_create() and other event-related syscalls
are not available to kernelspace (?). Need to ask LKML for guidance.
* Make unit tests threadsafe and created a stresstest which runs
the unit tests in parallel.
* Use helper functions to reduce the amount of duplicate code in the
unit tests.
2009-12-26 v0.4 r133
------------------------------------------------------------------------
* Incomplete and experimental support for Solaris added.
* Lots of work on the test suite.
* Replace the buggy GC thread with an event-based alternative.
* Do not implicitly set EV_CLEAR in the EVFILT_USER filter.
* Adjust the eventlist when EV_RECEIPT causes it to be modified.
2009-11-10 v0.3 r84
------------------------------------------------------------------------
* The EVFILT_USER filter has been implemented, but needs additional
testing.
* The EVFILT_PROC filter is partially implemented on Linux, but is
currently broken.
* The unit tests have been moved to a separate subdirectory and now
function under OpenBSD 4.4 using the native kqueue(2) and kevent(2)
system calls.
* The kqueue_free() function has been removed.
* A helper thread performs garbage collection when close(2) is called
on the file descriptor returned by kqueue().
* All symbols in <sys/event.h> that are not implemented are now
undefined.
* Major internal reorganization of the source tree.
* A copy-and-paste error in vnode.c has been fixed.
* The pthreads library is now required.
2009-11-07 v0.2 r59
------------------------------------------------------------------------
* Implement EVFILT_TIMER on Linux.
* Fix another 'make install' problem reported by Mario Schwalbe.
* Do not link the test program with the pthreads library.
* pkg-config no longer requires linking with -lpthread and -lrt.
2009-11-05 v0.1 r49
------------------------------------------------------------------------
* Initial stable release.
|