Ignore:
Timestamp:
Jul 16, 2008, 2:23:17 PM (11 years ago)
Author:
gb
Message:

Conditionalize for Solaris.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/linux-files.lisp

    r9212 r10053  
    2828  #+(and freebsd-target x8664-target)
    2929  (require "X8664-FREEBSD-SYSCALLS")
     30  #+(and solaris-target x8664-target)
     31  (require "X8664-SOLARIS-SYSCALLS")
    3032  )
    3133
     
    266268       (pref stat :stat.st_mode)
    267269       (pref stat :stat.st_size)
    268        #+linux-target
     270       #+(or linux-target solaris-target)
    269271       (pref stat :stat.st_mtim.tv_sec)
    270        #-linux-target
     272       #-(or linux-target solaris-target)
    271273       (pref stat :stat.st_mtimespec.tv_sec)
    272274       (pref stat :stat.st_ino)
    273275       (pref stat :stat.st_uid)
    274276       (pref stat :stat.st_blksize)
    275        #+linux-target
     277       #+(or linux-target solaris-target)
    276278       (round (pref stat :stat.st_mtim.tv_nsec) 1000)
    277        #-linux-target
     279       #-(or linux-target solaris-target)
    278280       (round (pref stat :stat.st_mtimespec.tv_nsec) 1000)
    279281       (pref stat :stat.st_gid))
     
    346348    (%get-cstring (%inc-ptr buf (* #+linux-target #$_UTSNAME_LENGTH
    347349                                   #+darwin-target #$_SYS_NAMELEN
    348                                    #+freebsd-target #$SYS_NMLN idx)))
     350                                   #+(or freebsd-target solaris-target) #$SYS_NMLN
     351                                   idx)))
    349352    "unknown"))
    350353
     
    393396    (%uts-string (#___xuname #$SYS_NMLN buf) idx buf)))
    394397
     398#+solaris-target
     399(defun %uname (idx)
     400  (%stack-block ((buf (* #$SYS_NMLN 5)))
     401    (%uts-string (#_uname buf) idx buf)))
     402
    395403(defun fd-dup (fd)
    396404  (syscall syscalls::dup fd))
    397405
    398406(defun fd-fsync (fd)
    399   (syscall syscalls::fsync fd))
     407  #-solaris-target
     408  (syscall syscalls::fsync fd)
     409  #+solaris-target
     410  (syscall syscalls::fdsync fd #$FSYNC))
    400411
    401412(defun fd-get-flags (fd)
     
    493504
    494505(defun %%rusage (usage &optional (who #$RUSAGE_SELF))
    495   (syscall syscalls::getrusage who usage))
     506  #-solaris-target
     507  (syscall syscalls::getrusage who usage)
     508  #+solaris-target
     509  (syscall syscalls::rusagesys #$_RUSAGESYS_GETRUSAGE who usage)
     510  )
    496511
    497512
     
    601616
    602617;;; Kind of has something to do with files, and doesn't work in level-0.
    603 #+(or linux-target freebsd-target)
     618#+(or linux-target freebsd-target solaris-target)
    604619(defun close-shared-library (lib &key (completely t))
    605620  "If completely is T, set the reference count of library to 0. Otherwise,
     
    935950                               :signaled)
    936951                             signal
    937                              (logtest #$WCOREFLAG statusflags)))))
     952                             (logtest #-solaris-target #$WCOREFLAG
     953                                      #+solaris-target #$WCOREFLG
     954                                      statusflags)))))
    938955                 (setf (external-process-%status p) status
    939956                       (external-process-%exit-code p) code
     
    12501267                (pref info :host_basic_info.max_cpus)
    12511268                1))
    1252             #+linux-target
     1269            #+(or linux-target solaris-target)
    12531270            (or
    12541271             (let* ((n (#_sysconf #$_SC_NPROCESSORS_ONLN)))
    12551272               (declare (fixnum n))
    12561273               (if (> n 0) n))
     1274             #+linux-target
    12571275             (ignore-errors
    12581276               (with-open-file (p "/proc/cpuinfo")
Note: See TracChangeset for help on using the changeset viewer.