… | |
… | |
600 | ev::sig sw_term, sw_int; |
600 | ev::sig sw_term, sw_int; |
601 | |
601 | |
602 | /* |
602 | /* |
603 | * Catch a fatal signal and tidy up before quitting |
603 | * Catch a fatal signal and tidy up before quitting |
604 | */ |
604 | */ |
605 | void |
|
|
606 | sig_term (ev::sig &w, int revents) |
605 | void sig_term (ev::sig &w, int revents); |
607 | { |
|
|
608 | rxvt_emergency_cleanup (); |
|
|
609 | w.stop (); |
|
|
610 | kill (getpid (), w.signum); |
|
|
611 | } |
|
|
612 | |
606 | |
613 | sig_handlers () |
607 | sig_handlers () |
614 | { |
608 | { |
615 | sw_term.set<sig_handlers, &sig_handlers::sig_term> (this); |
609 | sw_term.set<sig_handlers, &sig_handlers::sig_term> (this); |
616 | sw_int .set<sig_handlers, &sig_handlers::sig_term> (this); |
610 | sw_int .set<sig_handlers, &sig_handlers::sig_term> (this); |
617 | } |
611 | } |
618 | } sig_handlers; |
612 | } sig_handlers; |
|
|
613 | |
|
|
614 | void |
|
|
615 | sig_handlers::sig_term (ev::sig &w, int revents) |
|
|
616 | { |
|
|
617 | rxvt_emergency_cleanup (); |
|
|
618 | w.stop (); |
|
|
619 | kill (getpid (), w.signum); |
|
|
620 | } |
619 | |
621 | |
620 | char **rxvt_environ; // startup environment |
622 | char **rxvt_environ; // startup environment |
621 | |
623 | |
622 | void |
624 | void |
623 | rxvt_init () |
625 | rxvt_init () |