2f2c523b0870412d4631917fa166ee312508e0ec |
|
30-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib: ioloop: Add functions for adding/moving timeouts and ios to a specific ioloop. |
4b51ecbac8e207266f04f61c8a5f36558665d61f |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: ioloop.h - improve ioloop context comments |
7446aaf9cf5e918a1750ccba4d1e76dc7e4fe44b |
|
13-Dec-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: Move io_loop_context_[de]activate() to be public |
2c8259de19ac2f91de057149a2075c4aaf9206ef |
|
17-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: Add missing parenthesis to timeout_add()'s msecs parameter checks
This caused wrong results when the msecs parameter contained e.g. var?1:2 |
64f5f4f0e0c80ea8dc6f06f59e447fdf488635d0 |
|
15-Nov-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: Added io_wait_timer
This allows easier tracking of how much time the io_wait_timer has been
spending on (multiple) ioloops. |
d327ea02dc39399e8b231d0c833ed94c3be20bce |
|
24-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib: Added ioloop_global_wait_usecs
This is helpful when multiple ioloops aren't used and
io_loop_get_wait_usecs() can't be easily used for all of them. |
dfa23b2ddc43f323112225facf7cd7191e62e02c |
|
03-Oct-2016 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
io: Add source filename
This will make debugging alot easier
when you can see what the filename is as well. |
7f52e276c1bf13b4809344492023b90e46c3ac5d |
|
11-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
lib: Added io_loop_find_fd_conditions() |
fb4bd85e7d254f65570d3c860b34fc3e963b25b6 |
|
21-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib: Added io_loop_get_wait_usecs() |
dad206f8341603837b7de4309a7c195da26cf9aa |
|
24-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib: Added io_loop_extract_notify_fd() |
f6845101f2d6b8068e352a0b5a0d4bb04e20ad74 |
|
19-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib: io_add_notify() wasn't setting struct io.source_linenum |
43a2fa01834fd18d0a7788a58c5efad1c445a021 |
|
30-Sep-2014 |
Stephan Bosch <stephan@rename-it.nl> |
lib: Added support for setting timeouts at absolute time, rather than relative to current time. |
85b14555888acec410734a16561f2d79c626cad9 |
|
25-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
lib: Code cleanup - check io_loop_context_add/remove_callbacks() callback parameters. |
4c096615cb86a826fda377b87df22c579bfe5525 |
|
03-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
Added io_add_istream() and related functionality for combining the ioloop/istream.
The idea here is that it's possible to implement asynchronous istreams when
there isn't a file descriptor that can be used to reliably receive updates. |
f922ecaf766c60c10f642f3ac2d5f7748ff642b0 |
|
03-Apr-2014 |
Timo Sirainen <tss@iki.fi> |
ioloop: Added io_set_pending() |
888e0f4be6b8085fa42b6bd7f7ce67f14e88c73f |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
Added io_loop_add/remove_switch_callback() to call a callback when ioloop is changed. |
090489d44d0f1469a1de7220e330dcd4be6c0d8e |
|
05-Mar-2013 |
Timo Sirainen <tss@iki.fi> |
Added io_loop_have_immediate_timeouts() |
a4b14aa6a7367e6d72d57c6324ef32fccd8ded83 |
|
26-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Added io_loop_have_ios() |
27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality better.
gcc/clang now gives a compiler error in many places if callback isn't
exactly what was expected. It's also now much easier to add more of these
checks. |
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 |
|
23-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Marked functions parameters that are allowed to be NULL. Some APIs were also changed.
The non-obvious APIs where NULL parameter was changed to "" are
master_service_init() and auth_master_user_list_init().
These checks can currently be enabled only on a patched clang:
http://llvm.org/bugs/show_bug.cgi?id=6786 |
4b335788eb41dec2de5f78459d96387fcc710010 |
|
20-May-2012 |
Timo Sirainen <tss@iki.fi> |
Use timeout_add_short() for sub-second timeouts. Fail at compile time if timeout_add() is <1s.
In future timeout_add() could perhaps also be made less precise, so that it
would try to group timeouts to run around at the same time. |
a23a481f9dfd5f14ebf2768b51b6fbc1cce1c864 |
|
01-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
ioloop: I/O and timeout leak messages now include the io_add()/timeout_add() source line number.
This helps figuring out the leak especially when using ASLR. Also in 64bit
systems there's no increased memory usage, because the line number replaces
only padding. |
22e0c38e6755a0ae90d780a81b4ca58094f24448 |
|
15-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
liblib: Added io_loop_time_refresh() |
6bf4371f70d6f2767eb474d85e00368a15e09ba8 |
|
24-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
liblib: Added io_loop_get_current_context() |
ae800c8a965688ab17415397dbc759a429e78199 |
|
24-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
liblib: io_loop_context_remove_callbacks() now requires also callbacks. |
1388b590dbd85245b591346f860bc1319953318a |
|
16-Aug-2011 |
Timo Sirainen <tss@iki.fi> |
Replaced "ioloop log" with a more generic "ioloop context".
The context can call multiple callbacks that can do anything they want,
including setting the log prefix. |
33d7b371841275bb3f9abf82f2ca99a839f5db6a |
|
13-Jan-2011 |
Timo Sirainen <tss@iki.fi> |
Added io_loop_move_io() and io_loop_move_timeout(). |
b9a13c136b7c5803a8271878fcbbf5328f6e7f2a |
|
03-Dec-2010 |
Timo Sirainen <tss@iki.fi> |
ioloop: Added support for per-io/timeout callback log prefix automation. |
6795f542ed816a3c977085d4f74df1d62a37b690 |
|
22-Jun-2009 |
Timo Sirainen <tss@iki.fi> |
ioloop: Added callback for handling time jumping forwards/backwards.
The default implementation is now to only log a warning when time moves
backwards. The callback is also called if it's detected that time jumps
forwards. In both cases existing timeouts' run times are updated so that
they're called approximately the intended time.
--HG--
branch : HEAD |
306f6bb8791755257c0db900f17659402c660057 |
|
27-May-2009 |
Timo Sirainen <tss@iki.fi> |
Removed ioloop_timezone. It's not working nowadays.
--HG--
branch : HEAD |
dac0b2e5e0f38c6d95ef1a842d891480db580236 |
|
15-Jan-2009 |
Timo Sirainen <tss@iki.fi> |
Added io_loop_set_max_fd_count() to specify how many fds we expect to use.
It's used currently only for figuring out how much space should be
allocated initially to fds.
--HG--
branch : HEAD |
193f5296d2a6b847970c222d8a261b89aae46331 |
|
01-Nov-2008 |
Timo Sirainen <tss@iki.fi> |
Don't break if io_remove() or timeout_remove() are called for non-active ioloops.
--HG--
branch : HEAD |
745f2c7424d88e368eff0a3a7650b352a9d1f0dd |
|
21-Aug-2008 |
Timo Sirainen <tss@iki.fi> |
Added io_remove_closed().
--HG--
branch : HEAD |
0a3d3ca7db7cbdc947ccabe740c40561b3f5c066 |
|
24-Apr-2008 |
Timo Sirainen <tss@iki.fi> |
Renamed IO_NOTIFY_DISABLED to IO_NOTIFY_NOSUPPORT. IO_NOTIFY_NOSUPPORT is
now also given by dnotify when trying to listen for files. Fixes busy
looping with dnotify when waiting for dotlock to get deleted.
--HG--
branch : HEAD |
20a3870db4f78717574ee94bca1512994391b2ab |
|
03-Jan-2008 |
Timo Sirainen <tss@iki.fi> |
Use priority queue to implement timeout handling. Added timeout_reset().
--HG--
branch : HEAD |
c25356d5978632df6203437e1953bcb29e0c736f |
|
16-Sep-2007 |
Timo Sirainen <tss@iki.fi> |
Changed .h ifdef/defines to use <NAME>_H format.
--HG--
branch : HEAD |
1964dbea138cb4a213b1bce1eeee68992b18829a |
|
09-Jul-2007 |
Timo Sirainen <tss@iki.fi> |
Changed io_add_notify() API so that it can return "file doesn't exist"
error.
--HG--
branch : HEAD |
dcc76bb1e1bb287e3e71e6a39a7ca207fab0eaa8 |
|
08-Mar-2007 |
Timo Sirainen <tss@iki.fi> |
Various cleanups to ioloop code.
--HG--
branch : HEAD |
59151b71059df1190acd75d8717ed04a7920c862 |
|
15-Dec-2006 |
Timo Sirainen <tss@iki.fi> |
Added context parameter type safety checks for most callback APIs.
--HG--
branch : HEAD |
52065ed197a2b352acd0d67d141912addad3f8fd |
|
17-Aug-2006 |
Timo Sirainen <tss@iki.fi> |
OK, so the original kqueue code wasn't actually broken, but it could have
been made much simpler. Updated comments in ioloop.h about IO_READ and
IO_ERROR usage.
--HG--
branch : HEAD |
74308421351d98c02c971aef32277d9712babb85 |
|
09-Apr-2006 |
Timo Sirainen <tss@iki.fi> |
IO_ERROR and IO_NOTIFY had conflicting values.
--HG--
branch : HEAD |
50e7020799b35f954235d46800757046caf636d1 |
|
21-Feb-2006 |
Timo Sirainen <tss@iki.fi> |
Removed extra comma at end of enum list
--HG--
branch : HEAD |
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d |
|
14-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
deinit, unref, destroy, close, free, etc. functions now take a pointer to
their data pointer, and set it to NULL. This makes double-frees less likely
to cause security holes.
--HG--
branch : HEAD |
6ef7e31619edfaa17ed044b45861d106a86191ef |
|
13-Jan-2006 |
Timo Sirainen <tss@iki.fi> |
Added "bool" type and changed all ints that were used as booleans to bool.
--HG--
branch : HEAD |
2261e1f0a3d678f9d0c1c4a197e6f6de0516a09f |
|
31-Dec-2005 |
Timo Sirainen <tss@iki.fi> |
Export current_ioloop globally.
--HG--
branch : HEAD |
8d59f06c9422fa49b538e23ffb06eddb23c6add2 |
|
25-Sep-2005 |
Timo Sirainen <tss@iki.fi> |
Added IO_ERROR condition that we can watch now.
--HG--
branch : HEAD |
6246b93fb37890dcb2f4df9896438f3f376ab284 |
|
14-Aug-2005 |
Timo Sirainen <tss@iki.fi> |
New inotify code and notify API change. Patch by Johannes Berg
--HG--
branch : HEAD |
9bf98814caf6ca9091a77e1eeb5d64bfc5c537af |
|
24-Aug-2003 |
Timo Sirainen <tss@iki.fi> |
Added IO_DIR_NOTIFY and IO_FILE_NOTIFY conditions to io_add(). IO_DIR_NOTIFY
is now implemented for Linux dnotify.
--HG--
branch : HEAD |
007d354a674fb3ddf49db160cf050cf61270a1a0 |
|
23-May-2003 |
Timo Sirainen <tss@iki.fi> |
Removed I/O priorities. They were pretty much useless and were just getting
in way.
--HG--
branch : HEAD |
3185a94a1253e1f513e056a49085a9baa5ffabc9 |
|
07-May-2003 |
Timo Sirainen <tss@iki.fi> |
struct timeval requires sys/time.h
--HG--
branch : HEAD |
7013075e208bc7aa87257df7d9664c84c7c220f3 |
|
27-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Removed useless parameters from io_callback_t and timeout_callback_t.
--HG--
branch : HEAD |
a3e4bc66fc6501374fdaa3ebb5a9e676756d0726 |
|
27-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Added io_loop_is_running()
--HG--
branch : HEAD |
f923659c0e5298263d80622c99f4dc4132b4675b |
|
11-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming change for function typedefs.
--HG--
branch : HEAD |
c0435c854a0e7246373b9752d163095cc4fbe985 |
|
05-Jan-2003 |
Timo Sirainen <tss@iki.fi> |
Naming style changes, finally got tired of most of the typedefs. Also the
previous enum -> macro change reverted so that we don't use the highest bit
anymore, that's incompatible with old indexes so they will be rebuilt.
--HG--
branch : HEAD |
201108608e6686d3e9dce9b95678a814122b6471 |
|
24-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
Fixes to timezone handling which were handling quite badly. added
ioloop_timezone which gets updated with ioloop_time. Changed some GMT
references to UTC. Timezone offsets are in minutes now everywhere instead of
seconds. Fixes for unsigned time_t.
--HG--
branch : HEAD |
647afe054117804e3e156b46ada4c5bec0ac4c38 |
|
09-Oct-2002 |
Timo Sirainen <tss@iki.fi> |
ioloop_create() takes now pool-parameter. io_buffer_create_mmaped() takes
start_offset parameter instead of getting it with lseek(). Instead of using
offsets to index file, we now use record indexes (first_hole_index, tree
file).
--HG--
branch : HEAD |
1215bc4d7e747846f282cf710e61f3768e69238d |
|
22-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
s/user_data/context/ and some s/Data/Context/
--HG--
branch : HEAD |
66251e6ab31e5cc153fe5cae608e416dacafe9cd |
|
08-Aug-2002 |
Timo Sirainen <tss@iki.fi> |
Initial revision
--HG--
branch : HEAD |