[dovecot/core] 94da37: lib: Revert earlier "log write is blocking" handli...

GitHub noreply at github.com
Mon Jun 18 21:30:05 EEST 2018


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: 94da37095cd2cb5d1290aacd1220cf872c9d1d87
      https://github.com/dovecot/core/commit/94da37095cd2cb5d1290aacd1220cf872c9d1d87
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-06-18 (Mon, 18 Jun 2018)

  Changed paths:
    M src/lib/failures.c

  Log Message:
  -----------
  lib: Revert earlier "log write is blocking" handling change

1) It was buggy, because it set O_NONBLOCK rather than removing it.

2) fd flags are shared across all the processes using the fd. We can't
reliably implement the process title update, because some processes are
blocking on the log write() before they change the process title.

Reverts 861d40b9aebabccae7d48e49a18cbc631ab1fefe


  Commit: 7c5248703a69ec6f463bb6e58b27bd2e075c4b94
      https://github.com/dovecot/core/commit/7c5248703a69ec6f463bb6e58b27bd2e075c4b94
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-06-18 (Mon, 18 Jun 2018)

  Changed paths:
    M src/lib/failures.c

  Log Message:
  -----------
  lib: If log write returns EAGAIN, use poll() instead of ioloop for waiting

As explained in 861d40b9aebabccae7d48e49a18cbc631ab1fefe commit message,
ioloop can call various callbacks and it can also recurse back to error
logging. Using poll() directly is safer.


  Commit: bddb144f0209927e49cac64352d82c50c63d7343
      https://github.com/dovecot/core/commit/bddb144f0209927e49cac64352d82c50c63d7343
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-06-18 (Mon, 18 Jun 2018)

  Changed paths:
    M src/lib/failures.c

  Log Message:
  -----------
  lib: When log writing keeps returning EAGAIN, change process title only once

Otherwise each call will use up data stack memory.


Compare: https://github.com/dovecot/core/compare/cf32e732dec8...bddb144f0209
      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the dovecot-cvs mailing list