//sys pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_t) (n int, err error) = SYS_PSELECT6
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
- ts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
- return pselect(nfd, r, w, e, &ts, nil)
+ var ts *Timespec
+ if timeout != nil {
+ ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
+ }
+ return pselect(nfd, r, w, e, ts, nil)
}
//sysnb Gettimeofday(tv *Timeval) (err error)
//sys pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *sigset_t) (n int, err error) = SYS_PSELECT6
func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
- ts := Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
- return pselect(nfd, r, w, e, &ts, nil)
+ var ts *Timespec
+ if timeout != nil {
+ ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
+ }
+ return pselect(nfd, r, w, e, ts, nil)
}
//sysnb Gettimeofday(tv *Timeval) (err error)