test: ptrace compatibility with *BSD

This commit is contained in:
Greg V 2018-07-10 14:01:54 +03:00
parent 8cc4de5fc9
commit d23074cec9
2 changed files with 9 additions and 3 deletions

View file

@ -97,6 +97,12 @@ if cc.has_header('xlocale.h')
config_h.set('HAVE_XLOCALE_H', '1')
endif
if not cc.has_header_symbol('sys/ptrace.h', 'PTRACE_ATTACH', prefix : prefix)
config_h.set('PTRACE_ATTACH', 'PT_ATTACH')
config_h.set('PTRACE_CONT', 'PT_CONTINUE')
config_h.set('PTRACE_DETACH', 'PT_DETACH')
endif
# Dependencies
pkgconfig = import('pkgconfig')
dep_udev = dependency('libudev')

View file

@ -3870,10 +3870,10 @@ is_debugger_attached(void)
if (pid == 0) {
int ppid = getppid();
if (ptrace(PTRACE_ATTACH, ppid, NULL, NULL) == 0) {
if (ptrace(PTRACE_ATTACH, ppid, NULL, 0) == 0) {
waitpid(ppid, NULL, 0);
ptrace(PTRACE_CONT, NULL, NULL);
ptrace(PTRACE_DETACH, ppid, NULL, NULL);
ptrace(PTRACE_CONT, ppid, NULL, 0);
ptrace(PTRACE_DETACH, ppid, NULL, 0);
rc = 0;
} else {
rc = 1;