Home | History | Annotate | Download | only in runtime

Lines Matching full:signal

17 // The sigtable array is indexed by a system signal number to get the flags
18 // and printable name of each signal.
41 // Stores the signal handlers registered before Go installed its own.
42 // These signal handlers will be invoked in cases where Go doesn't want to
43 // handle a particular signal (e.g., signal occurred on a non-Go thread).
46 // This is read by the signal handler; accesses should use
50 // handlingSig is indexed by signal number and is non-zero if we are
51 // currently handling the signal. Or, to put it another way, whether
52 // the signal handler is currently set to the Go signal handler or not.
56 // channels for synchronizing signal mask updates with the signal mask
81 // It's now OK for signal handlers to run.
102 // Even if we are not installing a signal handler,
120 // Even these signals can be fetched using the os/signal package.
133 // When built using c-archive or c-shared, only install signal
142 // sigenable enables the Go signal handler to catch the signal sig.
143 // It is only called while holding the os/signal.handlers lock,
144 // via os/signal.enableSignal and signal_enable.
167 // sigdisable disables the Go signal handler for the signal sig.
168 // It is only called while holding the os/signal.handlers lock,
169 // via os/signal.disableSignal and signal_disable.
186 // If initsig does not install a signal handler for a
187 // signal, then to go back to the state before Notify
196 // sigignore ignores the signal sig.
197 // It is only called while holding the os/signal.handlers lock,
198 // via os/signal.ignoreSignal and signal_ignore.
216 // clearSignalHandlers clears all signal handlers that are not ignored
218 // we can enable the signal mask for the exec without worrying about
219 // running a signal handler in the child.
232 // profiling is being disabled. Enable or disable the signal as
236 // Enable the Go signal handler if not enabled.
242 // If the Go signal handler should be disabled by default,
275 // sigtrampgo is called from the signal handler function, sigtramp,
277 // This is called by the signal handler, and the world may be stopped.
280 // (if any) when the signal was delivered, but it's (usually) called
307 // The signal was delivered on the g0 stack.
311 // the signal handler directly when C code,
356 // sigpanic turns a synchronous signal into a run-time panic.
357 // If the signal handler sees a synchronous panic, it arranges the
358 // stack to look like the function where the signal occurred called
359 // sigpanic, sets the signal's PC value to sigpanic, and returns from
360 // the signal handler. The effect is that the program will act as
361 // though the function that got the signal simply called sigpanic
367 // The signal handler must not inject a call to sigpanic if
372 throw("unexpected signal during runtime execution")
408 throw("unexpected signal value")
413 // dieFromSignal kills the program with a signal.
420 // Mark the signal as unhandled to ensure it is forwarded.
425 // sends the signal to the whole process rather than to just
426 // the current thread, which means that the signal may not yet
428 // pick up the signal.
442 // signal to the whole process rather than just the current thread,
453 // raisebadsignal is called when a signal is received on a non-Go
455 // program has not called os/signal.Notify for the signal).
469 // Reset the signal handler and raise the signal.
470 // We are currently running inside a signal handler, so the
471 // signal is blocked. We need to unblock it before raising the
472 // signal, or the signal we raise will be ignored until we return
473 // from the signal handler. We know that the signal was unblocked
481 // avoid modifying the original context in which the signal
485 // return and the signal will be re-raised and caught by
493 // Give the signal a chance to be delivered.
498 // If the signal didn't cause the program to exit, restore the
499 // Go signal handler and carry on.
501 // We may receive another instance of the signal before we
503 // that the Go program has been ignoring the signal.
524 // is available to catch signals enabled for os/signal.
533 // Signal masks are per-thread, so make sure this goroutine stays on one
537 // The sigBlocked mask contains the signals not active for os/signal,
538 // initially all signals except the essential. When signal.Notify()/Stop is called,
539 // sigenable/sigdisable in turn notify this thread to update its signal
565 // This is called when we receive a signal when there is no signal stack.
567 // signal stack.
569 println("signal", sig, "received on thread with no signal stack")
573 // This is called if we receive a signal when there is a signal stack
577 println("signalsignal stack")
578 throw("non-Go code set up signal handler without SA_ONSTACK flag")
581 // signalDuringFork is called if we receive a signal while doing a fork.
582 // We do not want signals at that time, as a signal sent to the process
587 println("signal", sig, "received during fork")
588 throw("signal received during fork")
598 // A foreign thread received the signal sig, and the
608 // Determines if the signal should be handled by Go and if not, forwards the
609 // signal to the handler that was installed before Go's. Returns whether the
610 // signal was forwarded.
611 // This is called by the signal handler, and the world may be stopped.
621 // If we aren't handling the signal, forward it.
623 // If the signal is ignored, doing nothing is the same as forwarding.
627 // We are not handling the signal and there is no other handler to forward to.
652 // Determine if the signal occurred inside Go code. We test that:
660 // Signal not handled by Go, forward it.
668 // msigsave saves the current thread's signal mask into mp.sigmask.
669 // This is used to preserve the non-Go signal mask when a non-Go
679 // msigrestore sets the current thread's signal mask to sigmask.
680 // This is used to restore the non-Go signal mask when a non-Go thread
690 // sigblock blocks all signals in the current thread's signal mask.
702 // unblocksig removes sig from the current thread's signal mask.
705 // signal handler, on the signal stack, with no g available.
715 // thread's alternate signal stack and signal mask.
722 // alternate signal stack. If the alternate signal stack is not set
723 // for the thread (the normal case) then set the alternate signal
724 // stack to the gsignal stack. If the alternate signal stack is set
726 // signal stack and then calls a Go function) then set the gsignal
727 // stack to the alternate signal stack. Record which choice was made
743 // thread's signal mask. When this is called all signals have been
748 // signals to not be blocked. Then it sets the thread's signal mask.
768 // We got the signal stack from someone else. Restore
771 // Android, libc allocates a signal stack for all
778 // blockableSig returns whether sig may be blocked by the signal mask.
807 // alternate signal stack returned from the sigaltstack system call.
809 // This is used when handling a signal if non-Go code has set the
810 // alternate signal stack.
829 // before entering the signal handler.
840 // signalstack sets the current thread's alternate signal stack to s.