teak-llvm/lldb/packages/Python/lldbsuite/test/driver/batch_mode/main.c
Pavel Labath d0f89cd721 Centralize the handling of attach permissions on linux in tests
Summary:
On linux we need the process to give us special permissions before we can attach to it.
Previously, the code for this was copied into every file that needed it. This moves the code to a
central place to reduce code duplication.

Reviewers: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D15992

llvm-svn: 257319
2016-01-11 10:24:50 +00:00

42 lines
817 B
C

#include <stdio.h>
#include <string.h>
#include <unistd.h>
int
main (int argc, char **argv)
{
lldb_enable_attach();
int do_crash = 0;
int do_wait = 0;
int idx;
for (idx = 1; idx < argc; idx++)
{
if (strcmp(argv[idx], "CRASH") == 0)
do_crash = 1;
if (strcmp(argv[idx], "WAIT") == 0)
do_wait = 1;
}
printf("PID: %d END\n", getpid());
if (do_wait)
{
int keep_waiting = 1;
while (keep_waiting)
{
printf ("Waiting\n");
sleep(1); // Stop here to unset keep_waiting
}
}
if (do_crash)
{
char *touch_me_not = (char *) 0;
printf ("About to crash.\n");
touch_me_not[0] = 'a';
}
printf ("Got there on time and it did not crash.\n");
return 0;
}