The original patch author said that it does not compile on FreeBSD(7,amd64). Haven't asked the actual output.
Atsushi Eno Geoff Norton wrote: > Eno, > > Whats the testcase/rationale for this patch? > > On Sun, 2008-11-09 at 23:34 +0900, Atsushi Eno wrote: >> Atsushi Eno >> >> >> Index: configure.in >> =================================================================== >> --- configure.in (revision 118305) >> +++ configure.in (working copy) >> @@ -2054,6 +2054,37 @@ >> unset fpu >> fi >> >> +case $host_os in >> +darwin* | *bsd* ) >> + AC_MSG_CHECKING(if sysctl.h defines kinfo_proc completely) >> + AC_TRY_COMPILE([ >> + #include <sys/types.h> >> + #include <sys/sysctl.h> >> + ], [ >> + struct kinfo_proc kp; >> + ], >> + AC_MSG_RESULT(yes) >> + AC_DEFINE(SYSCTL_H_DEFINES_KINFO_PROC, 1, [sysctl.h has complete >> definition of struct kinfo_proc]) >> + , >> + AC_MSG_RESULT(no) >> + >> + AC_MSG_CHECKING(if struct kinfo_proc has member kp_proc) >> + AC_TRY_COMPILE([ >> + #include <sys/types.h> >> + #include <sys/user.h> >> + ], [ >> + struct kinfo_proc kp; >> + kp.kp_proc; >> + ], >> + AC_MSG_RESULT(yes) >> + , >> + AC_MSG_RESULT(no) >> + AC_DEFINE(KINFO_PROC_HAS_NO_KP_PROC, 1, [struct >> kinfo_proc has no >> member kp_proc]) >> + ) >> + ) >> + ;; >> +esac >> + >> if test ${TARGET} = unknown; then >> CPPFLAGS="$CPPFLAGS -DNO_PORT" >> AC_MSG_WARN("mono has not been ported to $host: some things may not >> work.") >> Index: mono/utils/mono-proclib.c >> =================================================================== >> --- mono/utils/mono-proclib.c (revision 118305) >> +++ mono/utils/mono-proclib.c (working copy) >> @@ -17,6 +17,9 @@ >> #include <sys/types.h> >> #include <sys/sysctl.h> >> #include <sys/proc.h> >> +# if !defined SYSCTL_H_DEFINES_KINFO_PROC >> +#include <sys/user.h> >> +# endif >> #define USE_SYSCTL 1 >> #endif >> >> @@ -54,8 +57,13 @@ >> } >> res = data_len/sizeof (struct kinfo_proc); >> buf = g_realloc (buf, res * sizeof (void*)); >> +# if !defined KINFO_PROC_HAS_NO_KP_PROC >> for (i = 0; i < res; ++i) >> buf [i] = GINT_TO_POINTER (processes [i].kp_proc.p_pid); >> +# else >> + for (i = 0; i < res; ++i) >> + buf [i] = GINT_TO_POINTER (processes [i].ki_pid); >> +# endif >> free (processes); >> if (size) >> *size = res; >> @@ -162,7 +170,11 @@ >> if (res < 0 || data_len != sizeof (struct kinfo_proc)) { >> return buf; >> } >> +# if !defined KINFO_PROC_HAS_NO_KP_PROC >> strncpy (buf, processi.kp_proc.p_comm, len - 1); >> +# else >> + strncpy (buf, processi.ki_comm, len - 1); >> +# endif >> return buf; >> #else >> char fname [128]; >> _______________________________________________ >> Mono-devel-list mailing list >> Mono-devel-list@lists.ximian.com >> http://lists.ximian.com/mailman/listinfo/mono-devel-list > > _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list