0.8.4.15:
[sbcl.git] / src / code / unix.lisp
index 91a8e39..a752549 100644 (file)
   ;; a constant. Going the grovel_headers route doesn't seem to be
   ;; helpful, either, as Solaris doesn't export PATH_MAX from
   ;; unistd.h.
-  #!-(or linux openbsd freebsd sunos osf1) (,stub,)
-  #!+(or linux openbsd freebsd sunos osf1)
+  #!-(or linux openbsd freebsd sunos osf1 darwin) (,stub,)
+  #!+(or linux openbsd freebsd sunos osf1 darwin)
   (or (newcharstar-string (alien-funcall (extern-alien "getcwd"
                                                       (function (* char)
                                                                 (* char)
                                                                 size-t))
                                         nil 
-                                        #!+(or linux openbsd freebsd) 0
+                                        #!+(or linux openbsd freebsd darwin) 0
                                         #!+(or sunos osf1) 1025))
       (simple-perror "getcwd")))
 
 ;;; longer than 32 bits anyway, right?":-|
 (define-alien-type nil
   (struct wrapped_stat
-    (st-dev unsigned-long)              ; would be dev-t in a real stat
+    (st-dev unsigned-int)              ; would be dev-t in a real stat
     (st-ino ino-t)
     (st-mode mode-t)
     (st-nlink  nlink-t)
     (st-uid  uid-t)
     (st-gid  gid-t)
-    (st-rdev unsigned-long)             ; would be dev-t in a real stat
-    (st-size unsigned-long)            ; would be off-t in a real stat
+    (st-rdev unsigned-int)             ; would be dev-t in a real stat
+    (st-size unsigned-int)             ; would be off-t in a real stat
     (st-blksize unsigned-long)
     (st-blocks unsigned-long)
     (st-atime time-t)
                        (slot (slot itvo 'it-value) 'tv-usec))
                which (alien-sap (addr itvn))(alien-sap (addr itvo))))))
 
-(defmacro sb!ext::with-timeout (expires &body body)
+(defmacro sb!ext:with-timeout (expires &body body)
   "Execute the body, interrupting it with a SIGALRM after at least
 EXPIRES seconds have passed.  Uses Unix setitimer(), restoring any
 previous timer after the body has finished executing"
@@ -779,8 +779,8 @@ previous timer after the body has finished executing"
                   (unix-setitimer :real 0 0 ,s ,u)
                   ,@body)
              (unix-setitimer :real 0 0 ,saved-seconds ,saved-useconds))
-           ,@body)))))
-
+           (progn
+             ,@body))))))
 \f
 
 (defconstant ENOENT 2) ; Unix error code, "No such file or directory"