* Generic handler for signals passed from parent -> child.
* The other end of signal_pipe is checked in the main event loop.
*/
-void
+RETSIGTYPE
handler(s)
int s;
{
char *envp[], int, int));
static void exec_pty __P((const char *path, char *argv[],
char *envp[], int));
-static void sigwinch __P((int s));
+static RETSIGTYPE sigwinch __P((int s));
static void sync_ttysize __P((int src, int dst));
static void deliver_signal __P((pid_t pid, int signo));
static int safe_close __P((int fd));
return -1;
}
-static void
+static RETSIGTYPE
catchsig(signo)
int signo;
{
/* sudo.c */
FILE *open_sudoers __P((const char *, int, int *));
int exec_setup __P((int, const char *, int));
-void cleanup __P((int));
+RETSIGTYPE cleanup __P((int));
void set_fqdn __P((void));
/* sudo_auth.c */
int perform_io __P((fd_set *fdsr, fd_set *fdsw, struct command_status *cstat));
int suspend_parent __P((int signo));
void fd_set_iobs __P((fd_set *fdsr, fd_set *fdsw));
-void handler __P((int s));
+RETSIGTYPE handler __P((int s));
void pty_close __P((struct command_status *cstat));
void pty_setup __P((uid_t uid));
extern int signal_pipe[2];
extern int term_raw __P((int, int));
extern int term_restore __P((int, int));
extern void zero_bytes __P((volatile void *, size_t));
-void cleanup __P((int));
+RETSIGTYPE cleanup __P((int));
static int list_sessions __P((int, char **, const char *, const char *, const char *));
static int parse_expr __P((struct search_node **, char **));
/*
* Cleanup hook for error()/errorx()
*/
-void
+RETSIGTYPE
cleanup(signo)
int signo;
{
static volatile sig_atomic_t signo[NSIG];
-static void handler __P((int));
+static RETSIGTYPE handler __P((int));
static char *getln __P((int, char *, size_t, int));
static char *sudo_askpass __P((const char *));
return nr == 1 ? buf : NULL;
}
-static void
+static RETSIGTYPE
handler(s)
int s;
{