mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-31 21:50:11 +01:00
When the client exits it may take a short amount of time for the dhclient hook script to deliver the options to NetworkManager; so we need to keep the client object around a bit (so we know what NMDHCPClient the options getting delivered are for). If we don't, the DHCPManager will dispose of the DHCPClient object and then when the options come in, it can't match up the PID from the options with the PID of an existing NMDHCPClient. So put the clients on a removal timer that keeps them around for a bit before we let the manager dispose of them. Since we're keeping the PID around too instead of zeroing it when the client exits (for the reason above), track whether the client is really dead yet so we don't indiscriminately kill a random process that happens to re-use the PID. |
||
|---|---|---|
| .. | ||
| Makefile.am | ||
| nm-dhcp-client.c | ||
| nm-dhcp-client.h | ||
| nm-dhcp-dhclient.c | ||
| nm-dhcp-dhclient.h | ||
| nm-dhcp-dhcpcd.c | ||
| nm-dhcp-dhcpcd.h | ||
| nm-dhcp-manager.c | ||
| nm-dhcp-manager.h | ||