func()

in sigar_freebsd.go [75:99]


func (self *ProcFDUsage) Get(pid int) error {
	err := readFile("/proc/"+strconv.Itoa(pid)+"/rlimit", func(line string) bool {
		if strings.HasPrefix(line, "nofile") {
			fields := strings.Fields(line)
			if len(fields) == 3 {
				self.SoftLimit, _ = strconv.ParseUint(fields[1], 10, 64)
				self.HardLimit, _ = strconv.ParseUint(fields[2], 10, 64)
			}
			return false
		}
		return true
	})
	if err != nil {
		return err
	}

	// linprocfs only provides this information for this process (self).
	fds, err := ioutil.ReadDir(procFileName(pid, "fd"))
	if err != nil {
		return err
	}
	self.Open = uint64(len(fds))

	return nil
}