Ofer Inbar:
> Postfix 2.2, CentOS 4 (yes, I want to upgrade; can't for now).
Perhaps you should upgrade.
> # strace -p 31741
> Process 31741 attached - interrupt to quit
> futex(0x2a96b46930, FUTEX_WAIT, 2, NULL ^C<unfinished ...>
Postfix does not manipulate futexes. The word futex appears
nowhere in Postfix source code.
However, there's a mutex deadlock in the LINUX C library when a
Postfix < 2.4 watchdog timer goes off and syslog()s a warning
message; the watchdog timer goes off when a Postfix < 2.4 qmgr
defers massive amounts of mail because of a dead transport or
nexthop.
When it is not deadlocked inside the LINUX C library, Postfix
qmgr waits in select(2) for one of the following:
- Notice from cleanup server that there's new incoming mail
- Notice from delivery agent that it is ready to deliver mail
- Notice from delivery agent that it is done delivering mail
- Notice from event timer to re-activate a dead nexthop
- Notice from event timer to re-activate a dead transport
- Notice from event timer to scan the deferred/incoming queue
The watchdog timer uses alarm() and signal().
Wietse