openbsd-ports/www/chromium/patches/patch-base_debug_debugger_posix_cc
robert 20d44b0e9c Add some missing patches that were missed by the previous commit
and move back to KERN_PROC from KERN_PROC2 now that we can.
2011-03-16 10:52:46 +00:00

46 lines
1.2 KiB
Plaintext

$OpenBSD: patch-base_debug_debugger_posix_cc,v 1.3 2011/03/16 10:52:46 robert Exp $
--- base/debug/debugger_posix.cc.orig Fri Mar 11 10:01:32 2011
+++ base/debug/debugger_posix.cc Wed Mar 16 10:20:49 2011
@@ -11,6 +11,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
+#if defined(OS_OPENBSD)
+#include <sys/param.h>
+#endif
#if !defined(OS_NACL)
#include <sys/sysctl.h>
#endif
@@ -50,7 +53,7 @@ bool SpawnDebuggerOnProcess(unsigned /* process_id */)
return false;
}
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || defined(OS_OPENBSD)
// Based on Apple's recommended method as described in
// http://developer.apple.com/qa/qa2004/qa1361.html
@@ -71,6 +74,10 @@ bool BeingDebugged() {
KERN_PROC,
KERN_PROC_PID,
getpid()
+#if defined(OS_OPENBSD)
+ , sizeof(struct kinfo_proc),
+ 400 /* XXX */
+#endif
};
// Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and
@@ -88,7 +95,11 @@ bool BeingDebugged() {
// This process is being debugged if the P_TRACED flag is set.
is_set = true;
+#if defined(OS_OPENBSD)
+ being_debugged = (info.p_flag & P_TRACED) != 0;
+#else
being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
+#endif
return being_debugged;
}