blob: 12852bc7b6e1c36caa1cb1b002524481ccf022d1 [file] [log] [blame]
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
int foo1 (int);
int foo2 (int);
int foo3 (int);
long foo4 (long);
int foo5 (int);
int foo6 (int);
int foo7 (int);
int foo8 (int);
int sigfoo1 (int);
int sigfoo2 (int);
int sigfoo3 (int);
long sigfoo4 (long);
int sigfoo5 (int);
int sigfoo6 (int);
int sigfoo7 (int);
int sigfoo8 (int);
/* Use getpid () in an attempt to keep this file from being
optimized away if compiled w/ opt. */
int
main ()
{
int rslt;
rslt = foo1 (getpid ());
rslt += sigfoo1 (getpid ());
return rslt;
}
int foo1 (int a)
{
return foo2 (a + getpid ());
}
int foo2 (int b)
{
return foo3 (b + getpid ());
}
int foo3 (int c)
{
return foo4 (c + getpid ());
}
long foo4 (long d)
{
return foo5 (d + getpid ());
}
int foo5 (int d5)
{
return foo6 (d5 + getpid ());
}
int foo6 (int d6)
{
return foo7 (d6 + getpid ());
}
int foo7 (int d7)
{
return foo8 (d7 + getpid ());
}
int foo8 (int d8)
{
return d8 + getpid ();
}
static int count = 0;
static void
handler (int sig)
{
signal (sig, handler);
++count;
sigfoo4 (getpid ());
}
static void
func1 ()
{
++count;
}
static void
func2 ()
{
++count;
}
int sigfoo1 (int a)
{
return sigfoo2 (a + getpid ());
}
int sigfoo2 (int b)
{
return sigfoo3 (b + getpid ());
}
int sigfoo3 (int c)
{
signal (SIGALRM, handler);
alarm (1);
++count; /* first */
alarm (1);
++count; /* second */
func1 ();
alarm (1);
func2 ();
sleep(2);
}
long sigfoo4 (long d)
{
return sigfoo5 (d + getpid ());
}
int sigfoo5 (int d5)
{
return sigfoo6 (d5 + getpid ());
}
int sigfoo6 (int d6)
{
return sigfoo7 (d6 + getpid ());
}
int sigfoo7 (int d7)
{
return sigfoo8 (d7 + getpid ());
}
int sigfoo8 (int d8)
{
return d8 + getpid ();
}