* RegisterSignalHook registers a function to be run PRE_SIGNAL or POST_SIGNAL for a given signal. PRE or POST in this case means before or after the signal related code endless itself runs */
(prePost int, sig os.Signal, f func())
| 548 | related code endless itself runs |
| 549 | */ |
| 550 | func (srv *endlessServer) RegisterSignalHook(prePost int, sig os.Signal, f func()) (err error) { |
| 551 | if prePost != PRE_SIGNAL && prePost != POST_SIGNAL { |
| 552 | err = fmt.Errorf("Cannot use %v for prePost arg. Must be endless.PRE_SIGNAL or endless.POST_SIGNAL.", sig) |
| 553 | return |
| 554 | } |
| 555 | for _, s := range hookableSignals { |
| 556 | if s == sig { |
| 557 | srv.SignalHooks[prePost][sig] = append(srv.SignalHooks[prePost][sig], f) |
| 558 | return |
| 559 | } |
| 560 | } |
| 561 | err = fmt.Errorf("Signal %v is not supported.", sig) |
| 562 | return |
| 563 | } |
nothing calls this directly
no outgoing calls
no test coverage detected