From 20dd338970fb5ae80cb73ca23a0cedbeeca88991 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Fri, 5 Feb 2021 23:57:52 +0100 Subject: sys-libs/libnih: Remove last-rited package Signed-off-by: Andreas Sturmlechner --- .../libnih/files/libnih-1.0.3-signal-race.patch | 44 ---------------------- 1 file changed, 44 deletions(-) delete mode 100644 sys-libs/libnih/files/libnih-1.0.3-signal-race.patch (limited to 'sys-libs/libnih/files/libnih-1.0.3-signal-race.patch') diff --git a/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch b/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch deleted file mode 100644 index 364af7f5383e..000000000000 --- a/sys-libs/libnih/files/libnih-1.0.3-signal-race.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- a/nih/signal.c -+++ b/nih/signal.c -@@ -337,17 +337,37 @@ - - nih_signal_init (); - -+ /* Since this poller runs w/out signals masked, we do not want to try -+ * and clear any other signals (like zeroing the caught array at the -+ * end). If we do that, we open a race: -+ * - Walk the list of signals. -+ * - First one is not set so we move on to the second one. -+ * - First signal comes in while processing second and increments the -+ * caught array entry. -+ * - Finish walking the whole list. -+ * - Zero out the whole list and thus throw away the first signal. -+ * Since the signal handlers can take any length of time, this race -+ * can be open for a variable amount of time. -+ */ -+ - NIH_LIST_FOREACH_SAFE (nih_signals, iter) { - NihSignal *signal = (NihSignal *)iter; - - if (! signals_caught[signal->signum]) - continue; - -+ /* Now that we know we're going to process this signal, clear -+ * out all pending counts for it. There is a slight race here -+ * where the same signal can come in, but the API has never -+ * guaranteed exact coverage since POSIX does not provide it -- -+ * more than one signal can be collapsed into one event. All -+ * we can guarantee is that we'll notice signals that come in -+ * once the handler runs. -+ */ -+ signals_caught[signal->signum] = 0; -+ - signal->handler (signal->data, signal); - } -- -- for (s = 0; s < NUM_SIGNALS; s++) -- signals_caught[s] = 0; - } - - - -- cgit v1.2.3-65-gdbad