summaryrefslogtreecommitdiffstats
path: root/src/privsep.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-01-14 11:53:05 +0000
committerRoy Marples <roy@marples.name>2020-01-14 11:53:05 +0000
commit4fe61ebf736ed552ebcdd9a4e68344de8e106a69 (patch)
tree609ab16bc2e7116399e391b6246d92f93aa6a2f1 /src/privsep.c
parent18e47d827e4ab22d3c2c21fed33592944cdf6b58 (diff)
downloaddhcpcd-4fe61ebf736ed552ebcdd9a4e68344de8e106a69.tar.xz
privsep: Remove fd's from event loop and ensure all closed.
Diffstat (limited to 'src/privsep.c')
-rw-r--r--src/privsep.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/privsep.c b/src/privsep.c
index 8ff34a25..0610f03d 100644
--- a/src/privsep.c
+++ b/src/privsep.c
@@ -347,8 +347,14 @@ ps_freeprocess(struct ps_process *psp)
#endif
TAILQ_REMOVE(&psp->psp_ctx->ps_processes, psp, next);
- if (psp->psp_fd != -1)
+ if (psp->psp_fd != -1) {
+ eloop_event_delete(psp->psp_ctx->eloop, psp->psp_fd);
close(psp->psp_fd);
+ }
+ if (psp->psp_work_fd != -1) {
+ eloop_event_delete(psp->psp_ctx->eloop, psp->psp_work_fd);
+ close(psp->psp_work_fd);
+ }
free(psp);
}