X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fbsd-os.c;h=3f54aefdb4508675cee74ed57822b25a355c710d;hb=aecefb5d1dfdab6b004796c8b0b48fd2ab6643df;hp=3b883796e07076d2e5652f5ace295b4b02e612c0;hpb=f55dc323429b8a4be5a9620cc44f1e30a729442f;p=sbcl.git diff --git a/src/runtime/bsd-os.c b/src/runtime/bsd-os.c index 3b88379..3f54aef 100644 --- a/src/runtime/bsd-os.c +++ b/src/runtime/bsd-os.c @@ -82,7 +82,7 @@ static void openbsd_init(); void os_init(char *argv[], char *envp[]) { - os_vm_page_size = getpagesize(); + os_vm_page_size = BACKEND_PAGE_BYTES; #ifdef __NetBSD__ netbsd_init(); @@ -383,8 +383,8 @@ static void freebsd_init() #endif /* LISP_FEATURE_X86 */ } -#if defined(LISP_FEATURE_SB_THREAD) && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) \ - && !defined(LISP_FEATURE_SB_LUTEX) +#if defined(LISP_FEATURE_SB_THREAD) && defined(LISP_FEATURE_SB_FUTEX) \ + && !defined(LISP_FEATURE_SB_PTHREAD_FUTEX) int futex_wait(int *lock_word, long oldval, long sec, unsigned long usec) { @@ -428,7 +428,7 @@ futex_wake(int *lock_word, int n) #endif char * -os_get_runtime_executable_path() +os_get_runtime_executable_path(int external) { char path[PATH_MAX + 1]; @@ -456,20 +456,16 @@ os_get_runtime_executable_path() } #elif defined(LISP_FEATURE_NETBSD) || defined(LISP_FEATURE_OPENBSD) char * -os_get_runtime_executable_path() +os_get_runtime_executable_path(int external) { struct stat sb; - char *path = strdup("/proc/curproc/file"); - if (path && ((stat(path, &sb)) == 0)) - return path; - else { - fprintf(stderr, "Couldn't stat /proc/curproc/file; is /proc mounted?\n"); - return NULL; - } + if (!external && stat("/proc/curproc/file", &sb) == 0) + return copied_string("/proc/curproc/file"); + return NULL; } #else /* Not DARWIN or FREEBSD or NETBSD or OPENBSD */ char * -os_get_runtime_executable_path() +os_get_runtime_executable_path(int external) { return NULL; }