| 114 | |
| 115 | |
| 116 | void ReaperProcess::notify(pid_t pid, Result<int> status) |
| 117 | { |
| 118 | foreach (const Owned<Promise<Option<int>>>& promise, promises.get(pid)) { |
| 119 | if (status.isError()) { |
| 120 | promise->fail(status.error()); |
| 121 | } else if (status.isNone()) { |
| 122 | promise->set(Option<int>::none()); |
| 123 | } else { |
| 124 | promise->set(Option<int>(status.get())); |
| 125 | } |
| 126 | } |
| 127 | promises.remove(pid); |
| 128 | } |
| 129 | |
| 130 | |
| 131 | const Duration ReaperProcess::interval() |