summaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/functionalities/exec/main.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2019-08-20 18:01:57 +0000
committerDimitry Andric <dim@FreeBSD.org>2019-08-20 18:01:57 +0000
commit88c643b6fec27eec436c8d138fee6346e92337d6 (patch)
tree82cd13b2f3cde1c9e5f79689ba4e6ba67694843f /packages/Python/lldbsuite/test/functionalities/exec/main.cpp
parent94994d372d014ce4c8758b9605d63fae651bd8aa (diff)
Notes
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/exec/main.cpp')
-rw-r--r--packages/Python/lldbsuite/test/functionalities/exec/main.cpp76
1 files changed, 0 insertions, 76 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/exec/main.cpp b/packages/Python/lldbsuite/test/functionalities/exec/main.cpp
deleted file mode 100644
index 92206b2d88ef..000000000000
--- a/packages/Python/lldbsuite/test/functionalities/exec/main.cpp
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <errno.h>
-#include <mach/mach.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <spawn.h>
-#include <unistd.h>
-#include <libgen.h>
-#include <string>
-
-static void
-exit_with_errno (int err, const char *prefix)
-{
- if (err)
- {
- fprintf (stderr,
- "%s%s",
- prefix ? prefix : "",
- strerror(err));
- exit (err);
- }
-}
-
-static pid_t
-spawn_process (const char *progname,
- const char **argv,
- const char **envp,
- int &err)
-{
- pid_t pid = 0;
-
- const posix_spawn_file_actions_t *file_actions = NULL;
- posix_spawnattr_t attr;
- err = posix_spawnattr_init (&attr);
- if (err)
- return pid;
-
- short flags = POSIX_SPAWN_SETEXEC | POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK;
- err = posix_spawnattr_setflags (&attr, flags);
- if (err == 0)
- {
- // Use the default signal masks
- sigset_t no_signals;
- sigset_t all_signals;
- sigemptyset (&no_signals);
- sigfillset (&all_signals);
- posix_spawnattr_setsigmask(&attr, &no_signals);
- posix_spawnattr_setsigdefault(&attr, &all_signals);
-
- err = posix_spawn (&pid,
- progname,
- file_actions,
- &attr,
- (char * const *)argv,
- (char * const *)envp);
-
- posix_spawnattr_destroy(&attr);
- }
- return pid;
-}
-
-int
-main (int argc, char const **argv)
-{
- char *buf = (char*) malloc (strlen (argv[0]) + 12);
- strlcpy (buf, argv[0], strlen (argv[0]) + 1);
- std::string directory_name (::dirname (buf));
-
- std::string other_program = directory_name + "/secondprog";
- int err = 0; // Set breakpoint 1 here
- spawn_process (other_program.c_str(), argv, NULL, err);
- if (err)
- exit_with_errno (err, "posix_spawn x86_64 error");
- return 0;
-}