You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
catch{SignalHandlingConfig.logger?.error("Cannot unregister delayed sigaction for in recovery handler of registerDelayedSigactions. The signal will stay blocked, probably forever.", metadata:["signal":"\(signal)"])}
123
+
catch{
124
+
SignalHandlingConfig.logger?.error(
125
+
"Cannot unregister delayed sigaction for in recovery handler of registerDelayedSigactions. The signal will stay blocked, probably forever.",
@@ -252,7 +257,10 @@ public enum SigactionDelayer_Block {
252
257
signalProcessingQueue.async{
253
258
do{try currentSigaction.install(on: signal)}
254
259
catch{
255
-
SignalHandlingConfig.logger?.error("Cannot set original sigaction back for signal \(signal) after signal source activation. You might never be called in the sigaction handler and get an infinite loop of signal calls once this signal has been sent once.")
260
+
SignalHandlingConfig.logger?.error(
261
+
"Cannot set original sigaction back for signal after signal source activation. You might never be called in the sigaction handler and get an infinite loop of signal calls once this signal has been sent once.",
/* We trust our source not to have an internal logic error.
275
283
* If the delayed sigaction is not found, it is because the callee called unregister twice on the same delayed sigaction. */
276
-
SignalHandlingConfig.logger?.error("Delayed sigaction unregistered more than once", metadata:["signal":"\(signal)"])
284
+
SignalHandlingConfig.logger?.error("Delayed sigaction unregistered more than once.", metadata:["signal":"\(signal)"])
277
285
return
278
286
}
279
287
assert(!blockedSignal.handlers.isEmpty,"INTERNAL ERROR: handlers should never be empty because when it is, the whole delayed signal should be removed.")
SignalHandlingConfig.logger?.error("Error while \(runOriginalHandlerFinal ?"suspending thread":"dropping signal in thread").", metadata:["signal":"\(signal)"])
338
+
SignalHandlingConfig.logger?.error(
339
+
"Error while \(runOriginalHandlerFinal ?"suspending thread":"dropping signal in thread").",
catch{SignalHandlingConfig.logger?.error("Cannot unregister delayed sigaction for in recovery handler of registerDelayedSigactions. The signal will stay blocked, probably forever.", metadata:["signal":"\(signal)"])}
56
+
catch{SignalHandlingConfig.logger?.error(
57
+
"Cannot unregister delayed sigaction for in recovery handler of registerDelayedSigactions. The signal will stay blocked, probably forever.",
SignalHandlingConfig.logger?.warning("sigaction handler modified for an unsigactioned signal; the sigaction has been reset to ignore", metadata:["signal":"\(signal)"])
207
+
SignalHandlingConfig.logger?.warning("sigaction handler modified for an unsigactioned signal; the sigaction has been reset to ignore.", metadata:["signal":"\(signal)"])
/* We trust our source not to have an internal logic error.
227
230
* If the unsigactioned signal is not found, it is because the callee called release twice on the same unsigaction ID. */
228
-
SignalHandlingConfig.logger?.error("Overrelease of unsigation", metadata:["signal":"\(id.signal)"])
231
+
SignalHandlingConfig.logger?.error("Overrelease of unsigation.", metadata:["signal":"\(id.signal)"])
229
232
return
230
233
}
231
234
assert(!unsigactionedSignal.handlers.isEmpty,"INTERNAL ERROR: unsigactionInfo should never be empty because when it is, the whole unsigactioned signal should be removed.")
completionResult.errorLogs.append(("Cannot send signal to unsigactioned thread",["signal":"\(signal)"]))
379
+
completionResult.errorLogs.append(("Cannot send signal to unsigactioned thread.",["signal":"\(signal)","kill_result":"\(killResult)"]))
379
380
}
380
381
381
382
/* Re-unblock all signals (in case a handler blocked one). */
382
-
ifpthread_sigmask(SIG_SETMASK,&emptyMask,nil)!=0{
383
-
completionResult.errorLogs.append(("Cannot set sigmask of thread for signal resend to empty mask. The signal resending might dead-lock. Signal will still be received by your custom dispatch handler, but the original sigaction might not be delayed or called at all.",["signal":"\(signal)"]))
"Cannot set sigmask of thread for signal resend to empty mask. The signal resending might dead-lock. Signal will still be received by your custom dispatch handler, but the original sigaction might not be delayed or called at all.",
0 commit comments