mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-15 07:48:11 +02:00
Revert "dispatcher/systemd: order NetworkManager-dispatcher.service Before=NetworkManager.service"
The 'Before' dependency between NM-dispatcher and NM causes a deadlock
when stopping the NM service. When terminating, NM wants to D-Bus
activate NM-dispatcher to synchronously handle pre-down events; but
NM-dispatcher start is ordered after NM shutdown due to the following
behavior described in systemd.unit(5) man page:
Given two units with any ordering dependency between them, if one
unit is shut down and the other is started up, the shutdown is
ordered before the start-up. It doesn't matter if the ordering
dependency is After= or Before=, in this case. It also doesn't
matter which of the two is shut down, as long as one is shut down
and the other is started up; the shutdown is ordered before the
start-up in all cases.
So, NM is waiting NM-dispatcher to start and NM-dispatcher is queued
by systemd, waiting that NM is stopped. The result is a 90 seconds
delay, after which systemd kills NM and continues.
The dependency was added so that during shutdown NM-dispatcher would
be stopped after NM. I don't think it worked as expected because
NM-dispatcher is not supposed to be active most of the times, and so
it doesn't need a dependency that delays its stop after NM.
This reverts commit acc335aad4.
This commit is contained in:
parent
4087024a9b
commit
105abf27c1
1 changed files with 0 additions and 6 deletions
|
|
@ -1,12 +1,6 @@
|
|||
[Unit]
|
||||
Description=Network Manager Script Dispatcher Service
|
||||
|
||||
# Order the dispatcher before NetworkManager. While dispatcher
|
||||
# is D-Bus activate (and not intended to be explicitly wanted by
|
||||
# another service/target), the ordering dependency matters during
|
||||
# shutdown. We want first NetworkManager to be stopped.
|
||||
Before=NetworkManager.service
|
||||
|
||||
[Service]
|
||||
Type=dbus
|
||||
BusName=org.freedesktop.nm_dispatcher
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue