ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/Changes
Revision: 1.242
Committed: Sun Jan 9 05:10:28 2011 UTC (13 years, 4 months ago) by root
Branch: MAIN
Changes since 1.241: +1 -0 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.31 Revision history for IO::AIO
2 root 1.30
3 root 1.59 TODO: better autoconf.pm that can return LIBS etc.
4 root 1.114 TODO: aio_cptree/mvtree
5 root 1.106 TODO: reduce condvar fairness: schedule hot-cache-threads first?
6 root 1.176 TODO: splice/tee/vmsplice? (http://kerneltrap.org/node/6505 http://lwn.net/Articles/178199/)
7 root 1.136 TODO: aio_fcntl, at least for file-locking
8 root 1.196 TODO: fallocate, if it wouldn't be so useless.
9 root 1.223 TODO: aio_mincore?
10 root 1.229 TODO: add? also linux-specific stuff?
11 root 1.238 TODO: O_EXEC O_SEARCH O_CLOEXEC O_DIRECTORY O_DSYNC O_NOCTTY O_NOFOLLOW O_NONBLOCK O_RSYNC O_SYNC O_TTY_INIT O_DIRECT O_LARGEFILE O_NOATIME O_ASYNC
12    
13 root 1.241 - use _POSIX_MEMLOCK_RANGE to detetc mlock/munlock.
14 root 1.242 - new treescan option: --grep.
15 root 1.241
16 root 1.240 3.71 Thu Dec 30 08:18:46 CET 2010
17     - the numerical result value passed to callbacks did not stringify
18     correctly, due to internal reuse and failure to reset the sv flags.
19 root 1.239 - actually test for posix_[mf]advise, as at least uClibc defines
20     _POSIX_ADVISORY_INFO without actually having any of the required
21     funcitonality. ugh.
22    
23 root 1.238 3.7 Mon Nov 1 23:00:34 CET 2010
24     - implement/add madvise, mmap, munmap, aio_mlockall, munlockall,
25     aio_mlock, munlock, msync and mtouch to @EXPORT_OK.
26     - document the sad state of affairs w.r.t. pthread on many bsds.
27     - do not enable mmap on systems without _POSIX_MAPPED_FILES
28     (openbsd 4.8).
29 root 1.231 - do not leak memory in IO::AIO::mmap when the scalar already
30     had string-data.
31 root 1.238 - add O_RDWR, O_APPEND and O_EXCL symbols and semi-document
32 root 1.228 them.
33 root 1.230 - cache the result IV, for a minor speedup in the common case.
34 root 1.231 - croak when an mmapped-scalar changes location, to detect
35     user-errors better.
36 root 1.237 - fix aio_readlink prototype.
37 root 1.228
38 root 1.227 3.65 Wed Mar 31 02:45:05 CEST 2010
39 root 1.225 - actually use PATH_MAX instead of NAME_MAX for readlink, as to not
40     cut off long pathnames in aio_readlink (based on patch by
41     Rasmus Andersson).
42 root 1.227 - a double fork partially killed the event pipe (great testcase
43     by dormando). affects IO::AIO, BDB and Async::Interrupt.
44     - suck steve's dick and rename our symbols to avoid colliding
45     with nonstandard identifier spam on the broken os x pseudo-os.
46     affects IO::AIO and BDB.
47 root 1.225
48 root 1.224 3.6 Mon Jan 11 00:43:39 CET 2010
49 root 1.219 - (libeio) more fixes for the freebsd/apple sendfile - broken by
50     manpage standards, but apparently correct accoridng to actual
51     kernel sources.
52 root 1.222 - add IO::AIO::mmap/munmap support.
53 root 1.220 - add IO::AIO::m(un)lockall support.
54 root 1.221 - clean up manpage.
55 root 1.218
56 root 1.217 3.5 Thu Jan 7 21:25:04 CET 2010
57 root 1.214 - (liebio) fix freebsd sendfile (Vanilla Hsu).
58     - (libeio) also fix darwin sendfile that suffered from a similar bug.
59 root 1.215 - add aio_statvfs as interface to statvfs/fstatvfs.
60 root 1.216 - work around buggy symlink() on cygwin in the testsuite.
61 root 1.217 - wtf. freebsd-8.0 actually passes the testsuite! I knew
62     they could implement fork and semaphores one day! cheers!
63 root 1.214
64 root 1.213 3.4 Sat Jan 2 15:13:04 CET 2010
65 root 1.209 - (libeio) max_poll_time was not properly converted to ticks.
66     - clarify cancel_subs description.
67 root 1.210 - IO::AIO::sendfile did not actually return the return value
68     from the sendfile call.
69 root 1.212 - implement aio_msync, aio_mtouch.
70 root 1.211 - (libeio) tentatively support darwin in sendfile.
71 root 1.209
72 root 1.208 3.31 Thu Nov 12 02:14:29 CET 2009
73 root 1.206 - fix result status documentation of aio_copy, aio_move.
74 root 1.207 - speed up object creation considerably by avoiding
75     hash lookups.
76 root 1.206
77 root 1.205 3.3 Wed Aug 5 13:52:58 CEST 2009
78 root 1.202 - use common::sense.
79     - use common schmorp.h header.
80     - allow integers (file descriptors) in addition to file handles.
81 root 1.203 - take advantage of linux' eventfd (but it seems slower on smp?).
82 root 1.204 - use poll not select on posix platforms.
83 root 1.202
84 root 1.201 3.261 Wed Jul 1 10:11:51 CEST 2009
85 root 1.207 - more 0S X workarounds (patch by Tokuhiro Matsuno).
86 root 1.200
87 root 1.199 3.26 Tue Jun 30 09:33:26 CEST 2009
88 root 1.207 - 0S X of course claims to be posix 2008 but lacks posix_fadvise.
89     try to work around this horribly broken OS in a somewhat hackish
90     way. might help other os's too.
91 root 1.199
92 root 1.198 3.25 Sat Jun 27 05:18:26 CEST 2009
93 root 1.197 - added IO::AIO::fadvise and IO::AIO::sendfile.
94 root 1.195 - (libeio) replaced quicksort+insertion sort by a tuned radix
95     sort + insertion sort, resulting in comparable runtime (usually
96     faster) to the old version, but without any ill side effects on
97     degenerated (for quicksort) data.
98     - (libeio) correctly sort dirs by inodes if we have perfect type
99 root 1.194 knowledge and DIRS_FIRST is used.
100 root 1.195 - (libeio) internally the wrong DT_* constants were used, but no
101     known system has differing EIO_DT_*/DT_* values, so not an issue.
102     - removed a (harmless) assert that was left over on the code
103     but should not have been.
104 root 1.196 - use more correct types (change IO length from IV to VAL64,
105     which makes a difference on systems without 64 bit perls).
106 root 1.194
107 root 1.193 3.23 Sat Jun 13 16:57:58 CEST 2009
108     - fix off-by-one bug in aio_readdir that was introduced in the
109     rushed 3.22 release.
110    
111 root 1.192 3.22 Sat Jun 13 15:32:40 CEST 2009
112 root 1.191 - speed up readdirx sort algorithm slightly.
113 root 1.192 - bin/treescan was missing from distro tarball.
114 root 1.191
115 root 1.190 3.21 Fri Jun 12 18:45:53 CEST 2009
116 root 1.187 - new options --dirs and --files for treescan.
117 root 1.188 - install bin/treescan by default.
118 root 1.189 - (libeio) aio_readdir can now be cancelled while executing.
119 root 1.190 - fix a printf format string for 64 bit systems (could lead
120     to problems on big endian 64 bit systems).
121     - do not use qsort() but our own algorithm: glibc initialises
122     the whole locale and I/O subsystem inside qsort, causing
123     a stack overflow on 32 bit machines. The new sort uses much less
124     stack and is more than twice as fast in typical situations.
125 root 1.187
126 root 1.186 3.2 Sun Jun 7 20:30:05 CEST 2009
127 root 1.182 - (libeio) pwrite emulation was even more flawed than intended and did
128     not restore the file offset.
129 root 1.183 - add aio_readdirx, which can return inode and filetype and sort
130     the names in various ways.
131 root 1.182 - unfortunately, utime, chmod, chown on an open file that has just
132     been written can easily block, which caused aio_copy to block the
133     process. no more!
134     - no longer rely on dst path in aio_copy when futime is available.
135    
136 root 1.181 3.19 Tue Apr 21 22:05:21 CEST 2009
137     - more perl 5.10 workarounds for aio_read and write.
138     - aio_write no longer modifies the sv (if possible).
139     - aio_read now works correctly with magic values.
140    
141 root 1.180 3.18 Sun Apr 19 21:17:32 CEST 2009
142 root 1.179 - better diagnostics when some aio_* functions get passed an illegal fh.
143 root 1.180 - try to avoid crashes due to incompatible 5.10 API changes. grmbl.
144 root 1.178
145 root 1.177 3.17 Thu Nov 20 08:45:36 CET 2008
146 root 1.176 - (libeio) added aio_sync_file_range (untested).
147 root 1.177 - add aio_busy to @IO::AIO::AIO_REQ.
148 root 1.175
149 root 1.174 3.16 Wed Oct 22 18:28:01 CEST 2008
150 root 1.173 - use SvREFCNT_inc instead of SvREFCNT_inc_NN in a non-speed critical
151     part to improve portability to perl 5.8 (reported by szymon).
152    
153 root 1.172 3.15 Mon Oct 13 00:39:55 CEST 2008
154 root 1.171 - automatic removal of feeders was broken.
155     - (libeio) use a more robust method to detect whether a feeder
156     has added something to the group or not.
157    
158 root 1.170 3.1 Thu Oct 2 13:34:40 CEST 2008
159 root 1.168 - pre-deref the passed callback object, for increased speed
160     and decreased memory usage.
161 root 1.167 - call on_next_submit callback even for aio_group - impact unknown,
162 root 1.166 but seems more correct.
163 root 1.168 - $req->cb now returns the original callback.
164 root 1.166 - (libeio) pass EIO_GROUP/aio_group requests through the queue without
165     requiring a thread switch.
166 root 1.169 - (libeio) status code of aio_futime and aio_utime was always passed 0.
167 root 1.166 - do some other ยต-optimisations.
168    
169 root 1.165 3.07 Sat Aug 2 16:06:13 CEST 2008
170     - do not include LIBS in autoconf tests.
171    
172 root 1.164 3.06 Tue Jul 15 12:41:32 CEST 2008
173 root 1.162 - move preadwritelock definition before it's first reference,
174 root 1.164 to make it compile again on broken platforms (they still exist)
175     or badly cofngiured perls (redhat...), reported by Rob Bloodgood.
176 root 1.162
177 root 1.161 3.05 Thu Jun 19 23:23:52 CEST 2008
178 root 1.160 - work around perl overriding readdir etc. with thread-unsafe
179 root 1.161 (sic!) versions.
180 root 1.160
181 root 1.159 3.04 Wed Jun 18 01:35:38 CEST 2008
182     - (libeio) fix eio_mknod, which confused it's arguments.
183 root 1.158 - (libeio) do not use readdir_r, as Ulrich Drepper pointed out that this
184     is stupid.
185 root 1.159 - (libeio) fix eio__readahead prototype, patch by Jost Krieger.
186     - (libeio) fix a bug that could potentially cause IO::AIO
187     not to get initialised properly.
188 root 1.158
189 root 1.157 3.03 Thu May 29 05:33:30 CEST 2008
190 root 1.153 - (libeio) correctly call pthread_attr_destroy ().
191 root 1.155 - (libeio) work around broken bsd headers once more.
192 root 1.154 - reduce shared library size again by not including wrappers.
193 root 1.156 - max_outstanding could cause poll to enter a busy-waiting loop.
194     - document the new IO::AIO::poll_cb result value.
195 root 1.153
196 root 1.152 3.02 Mon May 12 02:32:02 CEST 2008
197 root 1.150 - fix a memory leak on aio_readlink.
198     - bring back working fchmod.
199 root 1.151 - nop and busy now set result to 0.
200     - set errno to ENOMEM when allocation fails.
201 root 1.150
202 root 1.149 3.01 Sun May 11 03:07:03 CEST 2008
203     - (libeio) make it compile on systems without readahead or readdir_r.
204 root 1.148 - (libeio) improve configure check for readahead availability.
205     - do not try to link against -lrt.
206 root 1.147 - use a separate configure script for IO::AIO (not the libeio one).
207    
208 root 1.146 3.0 Sun May 11 00:57:14 CEST 2008
209 root 1.145 - added bin/treescan to the distribution.
210     - switched to using libeio.
211     - LOTS OF INCOMPATIBLE CHANGES:
212     - remove signal functionality, it is not worth the effort.
213     - max_outstanding no longer returns the previous number of requests.
214     - poll_cb no longer returns number of requests.
215 root 1.143
216 root 1.142 2.62 Sat Apr 26 13:59:33 CEST 2008
217 root 1.141 - port to solaris perls configured for old posix
218     (analysed by Jost Krieger).
219 root 1.142 - keep a reference to the perl filehandle object in aio_close,
220     so it doesn't get closed prematurely, leading to ugly races.
221 root 1.141
222 root 1.140 2.61 Wed Apr 16 18:45:02 CEST 2008
223 root 1.137 - fix treescan output duplication and improve output ordering.
224     also display files given on the commandline.
225 root 1.140 - use a different algorithm for aio_close that is faster
226     and probably has even lower chances of blocking.
227 root 1.138 - do our own stack memory management for threads - linux
228     allocates outrageous amounts of VM (not so bad unless you
229     use mlockall...), which severely limits the number of threads
230 root 1.139 on 32-bit arches: stack size is the larger of PTHREAD_STACK_MIN
231     and 4096 * sizeof (long) (usually this is 16..64k).
232 root 1.137
233 root 1.136 2.6 Sun Mar 30 08:28:11 CEST 2008
234 root 1.134 - added aio_sync.
235 root 1.135 - added aio_pathsync.
236 root 1.136 - fix prototypes of (void) functions.
237 root 1.134
238 root 1.133 2.51 Sat Oct 6 16:04:54 CEST 2007
239     - perlio isn't generally threadsafe, so aio_close could not work reliably.
240     aio_close now tries a safe hack that might not be that asynchronous
241     (see the manpage for details).
242     - discard callback return values as to not grow the stack endlessly
243     when poll_cb handles many requests without returning.
244     - minor code cleanups.
245    
246 root 1.132 2.5 Thu Oct 4 14:49:08 CEST 2007
247 root 1.131 - replaced _fd2fh with faster xs code.
248     - aio_close will now try to do "the right thing" and thus might
249     work sensibly for the very first time.
250    
251 root 1.130 2.41 Mon Sep 24 21:28:21 CEST 2007
252 root 1.129 - after fork, invest some work to make sure that the poll_fileno
253     stays stable (by dup2'ing the new fd over the old one), to make
254     it easier for programs/libs that don't control their forking
255     behaviour and cannot recreate their watchers.
256    
257 root 1.128 2.4 Sun Aug 5 18:44:22 CEST 2007
258 root 1.127 - add aio_truncate, aio_chmod, aio_chown, aio_utime (linux
259     successfully demonstrated that you can block on futimes...).
260 root 1.124 - allow undef as fileoffset for aio_read/write and use read/write(2)
261     internally (useful for sockets or O_APPEND handles).
262 root 1.126 - allow undef for length in aio_write.
263     - negative dataoffsets work as expected now in aio_read/aio_write.
264 root 1.124 - use NV instead of UV for 32 bit perls and file offsets, as NVs
265 root 1.125 have a larger range then.
266 root 1.120 - shared code between BDB and IO::AIO.
267 root 1.127 - aio_busy was completely broken. now fixed.
268     - readahead emulation now returns something.
269 root 1.121 - correctly set errno to ENOSYS on unimplemented functions
270     (should never happen, though).
271 root 1.127 - large changes to make it partially compile and run on win32,
272     but win32 lacks too much functionality, and perl overrides way
273     too many functions with crashing versions.
274 root 1.120
275 root 1.119 2.33 Tue Jan 23 23:55:41 CET 2007
276     - fix install path (Andreas J. Koenig).
277    
278 root 1.118 2.32 Mon Jan 22 16:56:23 CET 2007
279 root 1.114 - added aio_rmtree.
280 root 1.115 - wow, aio_mkdir was missing.
281 root 1.116 - aio_load did return undef on error, not -1.
282 root 1.117 - use prefixexp not prefix in autoconf.pm
283     (suggested by ... rt.cpan.org unreachable).
284 root 1.118 - avoid installing autoconf.pm.
285 root 1.114
286 root 1.113 2.31 Sat Jan 6 03:46:02 CET 2007
287 root 1.112 - added aio_load.
288    
289 root 1.111 2.3 Sat Dec 23 05:48:07 CET 2006
290     - fix off-by-one bug in aio_read, causing memory corruption
291     or crashes.
292    
293 root 1.110 2.21 Fri Dec 22 05:03:38 CET 2006
294 root 1.108 - minor doc updates.
295 root 1.107 - minor cleanups.
296     - IO::AIO::poll returns request count.
297 root 1.109 - undocumented and unfinished async-signal-reporting.
298 root 1.107
299 root 1.103 2.2 Tue Oct 31 00:31:00 CET 2006
300 root 1.100 - minor doc updates.
301 root 1.101 - added aio_readlink.
302     - properly zero-terminate aio_read buffer.
303     - fix aio_read/write with nonzero dataoffset.
304 root 1.104 - reduced size of aio request structure.
305 root 1.106 - better diagnostics when pathnames etc. are not byte-encoded;
306 root 1.105 do not leak request in that case, either.
307 root 1.94
308 root 1.99 2.1 Sun Oct 29 02:01:57 CET 2006
309 root 1.98 - INCOMPATIBLE CHANGE: replace IO::AIO::poll_some by
310     IO::AIO::max_poll_reqs and IO::AIO::max_poll_time.
311 root 1.95 - fix a bug in aio_move where it would fail everytime
312     it would have to copy files manually.
313 root 1.98 - doc updates.
314 root 1.94 - start threads only on (very low) demand.
315 root 1.97 - end superfluous threads automatically after 10s idling.
316 root 1.98 - add IO::AIO::max_idle to control this.
317 root 1.94 - some tuning applied to random places.
318 root 1.95 - add aio_mknod.
319 root 1.59
320 root 1.92 2.0 Thu Oct 26 18:27:58 CEST 2006
321 root 1.90 - minor incompatibility: max_outstanding semantics have changed.
322 root 1.86 - major rewrite, consider all functionality EXPERIMENTAL.
323 root 1.68 - aio requests can be cancelled.
324 root 1.81 - callbacks can be (re-)set later.
325 root 1.93 - aio requests can choose between 9 priorities.
326 root 1.83 - add aio_group: aio requests can be grouped
327     into composite requests.
328     - generator interface for groups.
329 root 1.89 - add IO::AIO::poll_some.
330 root 1.72 - major documentation improvements.
331     - very minor bugfixes.
332 root 1.76 - add aio_nop for dummy requests.
333 root 1.84 - add aio_busy mainly for benchmarking and debugging.
334 root 1.79 - use "fast" mutexes on linux.
335 root 1.80 - use dynamic (and larger) buffers instead of
336     putting them onto the stack.
337     - optimise x86 and amd64 a bit.
338     - better error checking when ENOMEM.
339 root 1.85 - hopefully fix mem and dirp leaks on fork.
340 root 1.92 - warn about broken perl malloc.
341 root 1.88 - compiles on cygwin (but pread is broken on cygwin
342     which is not detected by autoconf, so you have to
343     edit autoconf/config.h yourself to enable emulation).
344 root 1.68
345 root 1.67 1.8 Sat Jun 24 22:20:44 CEST 2006
346 root 1.66 - add and/or document aio_rename, aio_link, aio_symlink and aio_move.
347    
348 root 1.65 1.73 Wed Mar 1 22:49:32 CET 2006
349     - codename "jost"
350     - AIX/Solaris(?) aren't being helpful again, hardcode a value
351     for NAME_MAX and drive with your eyes closed (reported by
352     wcooley@nakedape.cc).
353 root 1.63
354 root 1.62 1.72 Thu Feb 2 00:40:44 CET 2006
355 root 1.61 - another minor bug in aio_scandir, again, the callback was called
356     twice when the directory can't be stat'ed.
357    
358 root 1.60 1.71 Mon Dec 26 20:20:03 CET 2005
359     - grr, another minor bug in aio_scandir, this time resulting
360     in a runtime error.
361    
362 root 1.59 1.7 Mon Dec 26 19:29:48 CET 2005
363 root 1.58 - aio_scandir errornously called callback twice in some cases.
364 root 1.57 - added AnyEvent example.
365    
366 root 1.55 1.61 Wed Sep 7 19:40:42 CEST 2005
367 root 1.54 - no longer include $Config{libs}, as distros include too much
368 root 1.56 garbage in there that is not installed on typical systems
369 root 1.54 (for example, debian links perl against -lgdbm and many more
370     libraries despite perl not needing it, slowing down startup and
371     wasting memory).
372    
373 root 1.53 1.6 Tue Aug 30 17:44:44 CEST 2005
374     - added aio_readdir, aio_scandir.
375 root 1.51 - added aio_sendfile, including sendfile emulation when sendfile
376     isn't available. Linux, FreeBSD and HP-UX might work (sendfilev
377     support is unavailable on my solaris 8 machine, but preliminary
378     code is there. What's lacking is configury stuff and testing...).
379 root 1.46
380 root 1.44 1.5 Sat Aug 20 02:32:19 CEST 2005
381 root 1.51 - create the aio threads on demand only (good after forking).
382 root 1.41 - somebody nagged about C89 compatibility, so this release should
383 root 1.42 be C89 compatible, but no guarantees for future ones.
384 root 1.43 - abort when the configure script fails.
385 root 1.41
386 root 1.40 1.4 Wed Aug 17 08:07:27 CEST 2005
387 root 1.93 - forgot to recreate the pipe after forking, this could cause
388 root 1.40 deadlocks.
389    
390 root 1.39 1.3 Wed Aug 17 07:25:54 CEST 2005
391 root 1.33 - properly propagate exceptions from callbacks, instead of silently
392     eating them.
393 root 1.38 - use a different fork algorithm that avoids recursive callback
394     invocations and reduces fork latency in busy processes.
395 root 1.37 - fix a bug where the buffer scalar in aio_read got assigned the wrong
396     length after reading.
397     - fix a bug where the child would process some outstanding requests
398     from the parent.
399     - make a copy of the callback scalar, to avoid some very uncommon
400     (but valid) usages where the callback scalar changes.
401     - the callback was never freed in aio_read/aio_write.
402 root 1.38 - aio_read/aio_write will now set the readonly flag on the data
403     scalar for better error reporting.
404 root 1.33
405 root 1.32 1.2 Wed Aug 17 01:22:58 CEST 2005
406     - verified on cygwin, linux/amd64+ia32+alpha, solaris.
407 root 1.31 - use SvPVbyte for filenames now. You *need* to encode your strings to
408     the external filename encoding first.
409 root 1.32 - fix the bug where filehandles could leak (again).
410 root 1.31 - clarify freebsd situation: make it work and tell me how, or go away
411     with your underdocumented, broken and outdated OS.
412     - fork'ing should now be officially supported (where linux and
413     posix contradict each other, I followed posix).
414 root 1.32 - only call read() once per poll, not twice (speedup).
415     - new functions: aio_rmdir, aio_symlink.
416 root 1.31 - force callback arguments to be undef or a reference, for better
417     error catching.
418 root 1.1
419 root 1.29 1.1 Sun Aug 7 05:27:23 CEST 2005
420 root 1.25 - added configure script to detect availability of some calls.
421 root 1.27 (imperfect, as we cannot detect things like -lrt due to missing
422 root 1.23 feedback yet).
423 root 1.27 - emulate fdatasync via fsync, pread/pwrite via unsafe read/write
424     and readahead via manual reading on platforms lacking those.
425 root 1.19 - ported t/03_errors.t+framework by Brad Fitzpatrick
426     from Linux::AIO.
427 root 1.18 - removed XOPEN_SOURCE because stupid solaris 9 doesn't
428     compile with it enabled. Probably breaks others. Oh well.
429 root 1.24 - try to be more careful with errno on non-threaded perls.
430 root 1.26 - cygwins perl insisted on a matching open mode when morphing
431     the fd to an fh.
432 root 1.28 - convert sv's to "byte" encoding in aio_read/aio_write. Might
433     do that for pathnames, too, in the future, so make sure you
434     properly encode your pathnames.
435 root 1.18
436 root 1.17 1.0 Fri Jul 22 10:43:30 CEST 2005
437     - aio_open did not reliably deliver (open) filehandles.
438 root 1.16 - all aio_*-functions keep a reference to the filehandle so
439     it doesn't go away while the aio requests is working on it.
440     - disable warnings in AIO.pm.
441    
442 root 1.15 0.9 Wed Jul 20 23:55:04 CEST 2005
443     - allow recursive calls to poll_cb, use less locking calls, too.
444     - fix the Gtk2-example in the SYNOPSIS.
445 root 1.14 - use pread/pwrite not pread64/pwrite64. this was simply a leftover
446     from Linux::AIO.
447     (found by compiling on cygwin. Unfortunately, cygwin declares but
448     does not implement pread/pwrite).
449     - only include <sys/syscall.h> on linux.
450    
451 root 1.13 0.5 Tue Jul 12 13:03:09 CEST 2005
452 root 1.12 - removed #include <endian.h>, it's not portable, and we don't
453     need it anyway.
454     - link against -lrt, as it might contain goodies such as fdatasync,
455     and often aio_read, which we do not use yet, but it shouldn't hurt.
456    
457 root 1.11 0.4 Mon Jul 11 05:28:25 CEST 2005
458 root 1.9 - added IO::AIO::flush, IO::AIO::poll.
459 root 1.10 - make callback argument optional for all calls.
460 root 1.8
461 root 1.7 0.3 Mon Jul 11 01:42:37 CEST 2005
462 root 1.5 - restructured manpage.
463 root 1.7 - added SYNOPSIS with examples for Event, Glib, Tk.
464     - remove explicit context support so I don't have to maintain
465     it for threaded perls (i.e. it should work now :).
466 root 1.5
467 root 1.4 0.2 Sun Jul 10 22:57:12 CEST 2005
468 root 1.2 - return immediately from poll_wait if nreqs==0.
469     - get rid of the request pipe and use faster thread-thread
470 root 1.3 communications for most requests and responses.
471 root 1.2
472 root 1.1 0.1
473     - cloned from Linux::AIO, which is very similar.
474