Commit b1839491 authored by Jim Blandy's avatar Jim Blandy

* timer.c (main): Set the ownership of the stdin file descriptor

	to the current process.  Print error messages if either of the
	fcntl's fails.

	* timer.c (sigcatch): Declare this to return SIGTYPE (defined in
	../src/config.h), not void.
parent 5d13f393
......@@ -213,7 +213,7 @@ getevent ()
notify ();
}
void
SIGTYPE
sigcatch (sig)
int sig;
/* dispatch on incoming signal, then restore it */
......@@ -262,7 +262,18 @@ main (argc, argv)
signal (SIGTERM, sigcatch);
#ifndef USG
fcntl (0, F_SETFL, FASYNC);
if (fcntl (0, F_SETOWN, getpid ()) == -1)
{
fprintf (stderr, "%s: can't set ownership of stdin\n", pname);
fprintf (stderr, "%s\n", sys_errlist[errno]);
exit (1);
}
if (fcntl (0, F_SETFL, fcntl (0, F_GETFL, 0) | FASYNC) == -1)
{
fprintf (stderr, "%s: can't request asynchronous I/O on stdin\n", pname);
fprintf (stderr, "%s\n", sys_errlist[errno]);
exit (1);
}
#endif /* USG */
while (1) pause ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment