mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-03-06 05:50:34 +01:00
Ensure zombie children get cleaned up. To get notifications when children die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but that requires calling waitpid() yourself if you've removed the child watch handler before the process has actually died, which NM needs to do in a few places. So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also cleans up after the child when required. Should fix problems trying to activate mobile broadband connections after a previous failure. * src/dhcp-manager/nm-dhcp-dhclient.c src/dhcp-manager/nm-dhcp-dhcpcd.c - Use G_SPAWN_DO_NOT_REAP_CHILD * src/dhcp-manager/nm-dhcp-manager.c - (nm_dhcp_device_destroy): ensure child is cleaned up - (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always block on child quitting, since the non-blocking functionality was never actually used * src/dnsmasq-manager/nm-dnsmasq-manager.c - (dm_watch_cb): child is already reaped here - (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead * src/nm-device.c - (aipd_cleanup): block until child is dead * src/named-manager/nm-named-manager.c - (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't event bothering to watch the child * src/ppp-manager/nm-ppp-manager.c - (ppp_watch_cb): child is already reaped here - (ensure_killed, nm_ppp_manager_stop): block until child is dead * src/vpn-manager/nm-vpn-service.c - (vpn_service_watch_cb): child is already reaped here - (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that status of the child is actually tracked - (ensure_killed, finalize): block until child is dead git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4020 4912f4e0-d625-0410-9fb7-b9a5a253dbdc |
||
|---|---|---|
| .. | ||
| backends | ||
| dhcp-manager | ||
| dnsmasq-manager | ||
| named-manager | ||
| ppp-manager | ||
| supplicant-manager | ||
| vpn-manager | ||
| .cvsignore | ||
| gdb-cmd | ||
| Makefile.am | ||
| NetworkManager.c | ||
| NetworkManager.conf | ||
| NetworkManagerAP.c | ||
| NetworkManagerAP.h | ||
| NetworkManagerPolicy.c | ||
| NetworkManagerPolicy.h | ||
| NetworkManagerSystem.c | ||
| NetworkManagerSystem.h | ||
| NetworkManagerUtils.c | ||
| NetworkManagerUtils.h | ||
| nm-activation-request.c | ||
| nm-activation-request.h | ||
| nm-active-connection.c | ||
| nm-active-connection.h | ||
| nm-call-store.c | ||
| nm-call-store.h | ||
| nm-cdma-device.c | ||
| nm-cdma-device.h | ||
| nm-crash-logger.c | ||
| nm-dbus-manager.c | ||
| nm-dbus-manager.h | ||
| nm-device-ethernet.c | ||
| nm-device-ethernet.h | ||
| nm-device-interface.c | ||
| nm-device-interface.h | ||
| nm-device-private.h | ||
| nm-device-wifi.c | ||
| nm-device-wifi.h | ||
| nm-device.c | ||
| nm-device.h | ||
| nm-dhcp4-config.c | ||
| nm-dhcp4-config.h | ||
| nm-gsm-device.c | ||
| nm-gsm-device.h | ||
| nm-hal-manager.c | ||
| nm-hal-manager.h | ||
| nm-hso-gsm-device.c | ||
| nm-hso-gsm-device.h | ||
| nm-ip4-config.c | ||
| nm-ip4-config.h | ||
| nm-logging.c | ||
| nm-logging.h | ||
| nm-manager.c | ||
| nm-manager.h | ||
| nm-netlink-monitor.c | ||
| nm-netlink-monitor.h | ||
| nm-netlink.c | ||
| nm-netlink.h | ||
| nm-properties-changed-signal.c | ||
| nm-properties-changed-signal.h | ||
| nm-serial-device.c | ||
| nm-serial-device.h | ||
| wpa.c | ||
| wpa.h | ||