History log of /dovecot/src/lib/ioloop-notify-kqueue.c
Revision Date Author Comments Expand
1ef9fe877817de76eb38883ccf3833fae60e6865 05-Oct-2017 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

global: stop including fd-set-nonblock.h & fd-close-on-exec.h directly

/dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-ibc-stream.c /dovecot/src/imap-hibernate/imap-client.c /dovecot/src/imap/main.c /dovecot/src/lda/main.c /dovecot/src/lib-imap-client/test-imapc-client.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-service.c failures.c fd-close-on-exec.c fd-set-nonblock.c ioloop-epoll.c ioloop-kqueue.c ioloop-notify-inotify.c ioloop-notify-kqueue.c istream.c lib-signals.c lib.c mmap-anon.c net.c randgen.c test-iostream-proxy.c test-iostream-pump.c test-istream-multiplex.c test-istream-unix.c test-multiplex.c test-ostream-multiplex.c /dovecot/src/lmtp/main.c /dovecot/src/login-common/login-proxy-state.c /dovecot/src/master/dup2-array.c /dovecot/src/master/main.c /dovecot/src/master/service-anvil.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-log.c /dovecot/src/master/service-monitor.c /dovecot/src/master/service-process.c /dovecot/src/plugins/mail-filter/istream-ext-filter.c /dovecot/src/plugins/replication/replication-plugin.c /dovecot/src/util/rawlog.c
5f1d689131a75c39f064cbd4202373e7edf78f18 19-Sep-2017 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi>

global: start relying on io_remove{,_closed}(NULL) being a no-op Cleanup performed with the following semantic patch: @@ expression E; @@ - if (E != NULL) { - io_remove(&E); - } + io_remove(&E); @@ expression E; @@ - if (E != NULL) { - io_remove_closed(&E); - } + io_remove_closed(&E);

/dovecot/src/anvil/main.c /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-ldap.c /dovecot/src/dict/dict-connection.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-test.c /dovecot/src/doveadm/client-connection.c /dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-ibc-stream.c /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-hibernate/imap-client.c /dovecot/src/imap-urlauth/imap-urlauth-client.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/imap-client.c /dovecot/src/ipc/client.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-http/http-client-connection.c /dovecot/src/lib-http/http-client-request.c /dovecot/src/lib-http/http-server-connection.c /dovecot/src/lib-http/http-server-response.c /dovecot/src/lib-http/test-http-payload.c /dovecot/src/lib-http/test-http-server-errors.c /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-master/master-auth.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-service-haproxy.c /dovecot/src/lib-master/master-service.c /dovecot/src/lib-program-client/program-client.c /dovecot/src/lib-program-client/test-program-client-net.c /dovecot/src/lib-program-client/test-program-client-unix.c /dovecot/src/lib-smtp/lmtp-client.c /dovecot/src/lib-sql/driver-cassandra.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/mailbox-watch.c connection.c ioloop-notify-inotify.c ioloop-notify-kqueue.c iostream-pump.c ostream-file.c /dovecot/src/lmtp/client.c /dovecot/src/log/log-connection.c /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/main.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/service-monitor.c /dovecot/src/master/service-process-notify.c /dovecot/src/plugins/fts/fts-parser-tika.c /dovecot/src/pop3/pop3-client.c /dovecot/src/stats/client.c /dovecot/src/stats/stats-carbon.c /dovecot/src/util/rawlog.c
a6280be05b9c90579bb59ff57a3035661706c3d3 19-Jul-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: io_loop_extract_notify_fd() - Don't crash if no notifys have been added

5535f5fb5feef602cc21678aa2db11a2809e8f76 02-Nov-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: ioloop-notify-kqueue wasn't storing source filename.

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.

a350c75b6e22e6e8f246964924d9a4715d16af08 25-Aug-2015 Timo Sirainen <tss@iki.fi>

lib: Fixed io_loop_extract_notify_fd() to compile with kqueue.

dad206f8341603837b7de4309a7c195da26cf9aa 24-Aug-2015 Timo Sirainen <tss@iki.fi>

lib: Added io_loop_extract_notify_fd()

fefe9afdb0fb4cfc70afe3006ec88ba09ab3762d 19-Aug-2015 Timo Sirainen <tss@iki.fi>

lib: Log notify IO leaks when ioloop is destroyed.

f6845101f2d6b8068e352a0b5a0d4bb04e20ad74 19-Aug-2015 Timo Sirainen <tss@iki.fi>

lib: io_add_notify() wasn't setting struct io.source_linenum

f3739947c8a5f8584fe630ec138058c5bd53184f 19-Aug-2015 Timo Sirainen <tss@iki.fi>

lib: kqueue notification should trigger also on file renames. For example if dovecot.index.log is renamed to dovecot.index.log.2, we should notice that since there's now a new dovecot.index.log containing new changes.

4307c886579381dbb1897ea1388ae6978c96f560 27-Jun-2012 Timo Sirainen <tss@iki.fi>

Changed i_close_fd() API to set the fd to -1 after closing.

/dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/mech-winbind.c /dovecot/src/config/config-parser.c /dovecot/src/config/sysinfo-get.c /dovecot/src/director/director-test.c /dovecot/src/doveadm/doveadm-dump-log.c /dovecot/src/doveadm/doveadm-dump-mailboxlog.c /dovecot/src/doveadm/doveadm-instance.c /dovecot/src/doveadm/doveadm-master.c /dovecot/src/doveadm/doveadm-sis.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-slave-io.c /dovecot/src/imap/main.c /dovecot/src/lda/main.c /dovecot/src/lib-dict/dict-file.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-imap-client/imapc-client.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-lda/smtp-client.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-storage/index/index-attachment.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mailbox-uidvalidity.c askpass.c failures.c fdatasync-path.c file-copy.c file-dotlock.c ioloop-notify-dn.c ioloop-notify-kqueue.c iostream-rawlog.c istream-seekable.c lib.c lib.h macros.h network.c nfs-workarounds.c randgen.c safe-mkstemp.c test-ostream-file.c unlink-directory.c /dovecot/src/lmtp/commands.c /dovecot/src/login-common/access-lookup.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/master/main.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-monitor.c /dovecot/src/master/service.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts/doveadm-dump-fts-expunge-log.c /dovecot/src/plugins/fts/fts-expunge-log.c /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/zlib/doveadm-zlib.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/main.c /dovecot/src/ssl-params/ssl-params.c /dovecot/src/util/gdbhelper.c /dovecot/src/util/rawlog.c
cb78bd2ad54e402c1f53930b41e2295683bda90b 25-Jun-2012 Timo Sirainen <tss@iki.fi>

Replaced (void)close(fd) and close_keep_errno() with i_close_fd(). i_close_fd() preserves the errno and logs an error if the close() fails.

/dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/mech-winbind.c /dovecot/src/config/config-parser.c /dovecot/src/config/sysinfo-get.c /dovecot/src/director/director-test.c /dovecot/src/doveadm/doveadm-dump-log.c /dovecot/src/doveadm/doveadm-dump-mailboxlog.c /dovecot/src/doveadm/doveadm-instance.c /dovecot/src/doveadm/doveadm-master.c /dovecot/src/doveadm/doveadm-sis.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-slave-io.c /dovecot/src/imap/main.c /dovecot/src/lda/main.c /dovecot/src/lib-dict/dict-file.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-imap-client/imapc-client.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-lda/smtp-client.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-storage/index/index-attachment.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mailbox-uidvalidity.c Makefile.am askpass.c close-keep-errno.c close-keep-errno.h failures.c fdatasync-path.c file-copy.c file-dotlock.c ioloop-notify-dn.c ioloop-notify-kqueue.c iostream-rawlog.c istream-seekable.c macros.h network.c nfs-workarounds.c randgen.c safe-mkstemp.c test-ostream-file.c unlink-directory.c /dovecot/src/lmtp/commands.c /dovecot/src/login-common/access-lookup.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/master/main.c /dovecot/src/master/service-listen.c /dovecot/src/master/service-monitor.c /dovecot/src/master/service.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts/doveadm-dump-fts-expunge-log.c /dovecot/src/plugins/fts/fts-expunge-log.c /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-parser-script.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/plugins/zlib/doveadm-zlib.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3/main.c /dovecot/src/ssl-params/ssl-params.c /dovecot/src/util/gdbhelper.c /dovecot/src/util/rawlog.c
0536ccb51d41e3078c3a9fa33e509fb4b2420f95 21-Sep-2011 Timo Sirainen <tss@iki.fi>

Renamed lib/*-internal.h files to lib/*-private.h for consistency.

/dovecot/src/lib-fs/ostream-cmp.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-ssl-iostream/istream-openssl.c /dovecot/src/lib-ssl-iostream/ostream-openssl.c /dovecot/src/lib-storage/index/istream-attachment.c /dovecot/src/lib-storage/index/istream-mail-stats.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-test/test-common.c Makefile.am ioloop-epoll.c ioloop-iolist.c ioloop-kqueue.c ioloop-notify-dn.c ioloop-notify-fd.c ioloop-notify-inotify.c ioloop-notify-kqueue.c ioloop-notify-none.c ioloop-poll.c ioloop-private.h ioloop-select.c ioloop.c iostream-private.h iostream.c istream-base64-encoder.c istream-concat.c istream-crlf.c istream-data.c istream-file.c istream-limit.c istream-mmap.c istream-private.h istream-seekable.c istream-tee.c istream.c ostream-buffer.c ostream-file.c ostream-private.h ostream.c test-istream-base64-encoder.c test-istream-concat.c test-istream-crlf.c test-istream-seekable.c test-istream-tee.c /dovecot/src/plugins/zlib/istream-bzlib.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/plugins/zlib/ostream-bzlib.c /dovecot/src/plugins/zlib/ostream-zlib.c
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.

306f6bb8791755257c0db900f17659402c660057 27-May-2009 Timo Sirainen <tss@iki.fi>

Removed ioloop_timezone. It's not working nowadays. --HG-- branch : HEAD

6a7bc57cdd2aaa7778478bf76c20c61640c725e6 16-Dec-2008 Timo Sirainen <tss@iki.fi>

kqueue notify: Don't assert-cras if kevent() returns multiple events for the same io. --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

5c6410e8882d021ad9cff91d87b3ce68e309bd44 17-May-2008 Timo Sirainen <tss@iki.fi>

kqueue: If opening a file fails with ESTALE, don't log an error. It probably just means the file was deleted by another NFS client. --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

ec096c8a0f52a4bb5d12aa9afe1a576368aa8094 21-Oct-2007 Timo Sirainen <tss@iki.fi>

Don't crash when removing kqueue notify. --HG-- branch : HEAD

fd1f0e9ef52b3e157cfd1a01c464c2ac7458ab17 24-Sep-2007 Timo Sirainen <tss@iki.fi>

Use N_ELEMENTS() macro instead of doing sizeof()/sizeof([0]) ourself. --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

e2aeb8f352ef49c34bac8f758de8c63d51d0e065 09-Jul-2007 Timo Sirainen <tss@iki.fi>

Don't prevent io_add_notify() from listening for files, since kqueue supports it. --HG-- branch : HEAD

62b1acbf187f5d611c82be168d716fa2db1f6edd 11-Jun-2007 Timo Sirainen <tss@iki.fi>

These files are MIT licensed nowadays. --HG-- branch : HEAD

dcc76bb1e1bb287e3e71e6a39a7ca207fab0eaa8 08-Mar-2007 Timo Sirainen <tss@iki.fi>

Various cleanups to ioloop code. --HG-- branch : HEAD

2cfe9983ce7a6280636ee12beccc2e865111967b 15-Dec-2006 Timo Sirainen <tss@iki.fi>

Replaced void *context from a lot of callbacks with the actual context type. Also added/fixed some context type checks. --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/auth/passdb-checkpassword.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-sql.c /dovecot/src/auth/userdb-sql.c /dovecot/src/deliver/auth-client.c /dovecot/src/dict/dict-server.c /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.c /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-thread.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h ioloop-notify-inotify.c ioloop-notify-kqueue.c ostream-file.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/auth-process.c /dovecot/src/master/auth-process.h /dovecot/src/master/dict-process.c /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/master-settings.c /dovecot/src/plugins/expire/auth-client.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.c /dovecot/src/pop3/client.c /dovecot/src/util/rawlog.c
f6c0407545ee77d4647c8cd912e3156b0a48e2f1 03-Nov-2006 Timo Sirainen <tss@iki.fi>

Removed compiler warnings with NetBSD. --HG-- branch : HEAD

4dc5662260a63669054cd0dc1bac2ccab3fa2ae7 26-Aug-2006 Timo Sirainen <tss@iki.fi>

Fix 100% CPU usage looping when a vnode change event came but it was never untriggered. Patch by Rui Lopes (rgl ruilopes com) --HG-- branch : HEAD

1aaa503bb6e3c5d0a3d17e00c8ef9ecece4d867d 16-Aug-2006 Timo Sirainen <tss@iki.fi>

Compiling fixes --HG-- branch : HEAD

35565557e05721a761132cec2ba1d93acacb6c14 16-Aug-2006 Timo Sirainen <tss@iki.fi>

Rewrote much of the kqueue code. It didn't work correctly if there were both input and output I/O handlers added for the same file descriptor. The code works now very much like epoll code. Did also several cleanups. --HG-- branch : HEAD

283ccfe110ed62e48f36e0d84e47da8cae5106be 28-Jan-2006 Timo Sirainen <tss@iki.fi>

Cleanups: Make io_remove() do the linked list updating also for notify handlers. Removed notify_context from struct io, and moved it to a new struct inotify_io. --HG-- branch : HEAD

a40f21e8239a87a8fab2648955b0f568908ca8b5 28-Jan-2006 Timo Sirainen <tss@iki.fi>

kqueue updates. Patch by Vaclav Haisman --HG-- branch : HEAD

6a029ebed745994ce2e5f64182d8b5c8f10d53d6 30-Dec-2005 Timo Sirainen <tss@iki.fi>

Added kqueue notification support. Patch by Vaclav Haisman --HG-- branch : HEAD