mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-21 05:33:45 -04:00
reaper: add reaper_del() - pid is no longer watched/monitored after this
This commit is contained in:
parent
dce402ae42
commit
c83cc7f862
2 changed files with 12 additions and 0 deletions
11
reaper.c
11
reaper.c
|
|
@ -98,6 +98,17 @@ reaper_add(struct reaper *reaper, pid_t pid, reaper_cb cb, void *cb_data)
|
||||||
((struct child){.pid = pid, .cb = cb, .cb_data = cb_data}));
|
((struct child){.pid = pid, .cb = cb, .cb_data = cb_data}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
reaper_del(struct reaper *reaper, pid_t pid)
|
||||||
|
{
|
||||||
|
tll_foreach(reaper->children, it) {
|
||||||
|
if (it->item.pid == pid) {
|
||||||
|
tll_remove(reaper->children, it);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
fdm_reap(struct fdm *fdm, int fd, int events, void *data)
|
fdm_reap(struct fdm *fdm, int fd, int events, void *data)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
1
reaper.h
1
reaper.h
|
|
@ -13,3 +13,4 @@ void reaper_destroy(struct reaper *reaper);
|
||||||
typedef bool (*reaper_cb)(struct reaper *reaper, pid_t pid, void *data);
|
typedef bool (*reaper_cb)(struct reaper *reaper, pid_t pid, void *data);
|
||||||
|
|
||||||
void reaper_add(struct reaper *reaper, pid_t pid, reaper_cb cb, void *cb_data);
|
void reaper_add(struct reaper *reaper, pid_t pid, reaper_cb cb, void *cb_data);
|
||||||
|
void reaper_del(struct reaper *reaper, pid_t pid);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue