/*
* rcvtty.c -- a rcvmail program (a lot like rcvalert) handling IPC ttys
*
- * $Id$
- *
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
* complete copyright information.
/*
* static prototypes
*/
-static RETSIGTYPE alrmser (int);
+static void alrmser (int);
static int message_fd (char **);
static int header_fd (void);
static void alert (char *, int);
}
-static RETSIGTYPE
+static void
alrmser (int i)
{
-#ifndef RELIABLE_SIGNALS
- SIGNAL (SIGALRM, alrmser);
-#endif
+ NMH_UNUSED (i);
longjmp (myctx, 1);
}
char tmpfil[BUFSIZ];
struct stat st;
-#ifdef HAVE_MKSTEMP
fd = mkstemp (strncpy (tmpfil, "/tmp/rcvttyXXXXX", sizeof(tmpfil)));
-#else
- unlink (mktemp (strncpy (tmpfil, "/tmp/rcvttyXXXXX", sizeof(tmpfil))));
- if ((fd = open (tmpfil, O_RDWR | O_CREAT | O_TRUNC, 0600)) == NOTOK)
- return header_fd ();
-#endif
unlink (tmpfil);
if ((child_id = vfork()) == NOTOK) {
* Ruthlessly kill the child and anything
* else in its process group.
*/
- KILLPG(child_id, SIGKILL);
+ killpg(child_id, SIGKILL);
}
close (fd);
return header_fd ();