# File lib/unix/sys/uptime.rb, line 130
    def self.seconds
      if Config::CONFIG['host_os'] =~ /linux/i
        begin
          IO.read('/proc/uptime').split.first.to_i
        rescue Exception => err
          raise Error, err
        end
      elsif respond_to?(:sysctl, true)
        tv   = Timeval.new
        mib  = FFI::MemoryPointer.new(:int, 2).write_array_of_int([CTL_KERN, KERN_BOOTTIME])
        size = FFI::MemoryPointer.new(:long, 1).write_int(tv.size)

        if sysctl(mib, 2, tv, size, nil, 0) != 0
          raise SystemCallError, 'sysctl() - ' + strerror(FFI.errno)
        end

        time(nil) - tv[:tv_sec]
      else
        tms = Tms.new
        times(tms) / TICKS
      end
    end