#include <mono/metadata/threads.h>
#include <mono/metadata/appdomain.h>
#include <mono/metadata/debug-helpers.h>
-#include <mono/io-layer/io-layer.h>
#include "mono/metadata/profiler.h"
#include <mono/metadata/profiler-private.h>
#include <mono/metadata/mono-config.h>
#if defined(__native_client__)
-pid_t
-mono_runtime_syscall_fork ()
-{
- g_assert_not_reached ();
-}
-
void
mono_gdb_render_native_backtraces (pid_t crashed_pid)
{
#else
-pid_t
-mono_runtime_syscall_fork ()
-{
-#if defined(PLATFORM_ANDROID)
- /* SYS_fork is defined to be __NR_fork which is not defined in some ndk versions */
- g_assert_not_reached ();
- return 0;
-#elif defined(SYS_fork)
- return (pid_t) syscall (SYS_fork);
-#elif defined(PLATFORM_MACOSX) && HAVE_FORK
- return (pid_t) fork ();
-#else
- g_assert_not_reached ();
- return 0;
-#endif
-}
-
static gboolean
native_stack_with_gdb (pid_t crashed_pid, const char **argv, FILE *commands, char* commands_filename)
{
commands = fopen (commands_filename, "w");
if (!commands) {
- unlink (commands_filename);
+ unlink (commands_filename);
return;
}
return;
exec:
+ fclose (commands);
execv (argv [0], (char**)argv);
_exit (-1);