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

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


  Branch: refs/heads/master-2.3
  Home:   https://github.com/dovecot/core
  Commit: c39d796ba5ab234f36777151d1890aa416f4ba86
      https://github.com/dovecot/core/commit/c39d796ba5ab234f36777151d1890aa416f4ba86
  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: 98d021781e1a6944408ca5d8bfab538c384e8acf
      https://github.com/dovecot/core/commit/98d021781e1a6944408ca5d8bfab538c384e8acf
  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: 9fdfc0359216814d7336162e0f98dd1f803e5003
      https://github.com/dovecot/core/commit/9fdfc0359216814d7336162e0f98dd1f803e5003
  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/cb1b482a45d8...9fdfc0359216
      **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