teak-llvm/lldb/packages/Python/lldbsuite/test/functionalities/signal/raise/main.c
Zachary Turner c432c8f856 Move lldb/test to lldb/packages/Python/lldbsuite/test.
This is the conclusion of an effort to get LLDB's Python code
structured into a bona-fide Python package.  This has a number
of benefits, but most notably the ability to more easily share
Python code between different but related pieces of LLDB's Python
infrastructure (for example, `scripts` can now share code with
`test`).

llvm-svn: 251532
2015-10-28 17:43:26 +00:00

43 lines
727 B
C

#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
void handler(int signo)
{
_exit(signo);
}
int main (int argc, char *argv[])
{
#ifndef __APPLE__
// Real time signals not supported on apple platforms.
if (signal(SIGRTMIN, handler) == SIG_ERR)
{
perror("signal(SIGRTMIN)");
return 1;
}
#endif
if (argc < 2)
{
puts("Please specify a signal to raise");
return 1;
}
if (strcmp(argv[1], "SIGSTOP") == 0)
raise(SIGSTOP);
#ifndef __APPLE__
else if (strcmp(argv[1], "SIGRTMIN") == 0)
raise(SIGRTMIN);
#endif
else
{
printf("Unknown signal: %s\n", argv[1]);
return 1;
}
return 0;
}