| 939 | } |
| 940 | |
| 941 | int |
| 942 | sys_pselect(struct thread *td, struct pselect_args *uap) |
| 943 | { |
| 944 | struct timespec ts; |
| 945 | struct timeval tv, *tvp; |
| 946 | sigset_t set, *uset; |
| 947 | int error; |
| 948 | |
| 949 | if (uap->ts != NULL) { |
| 950 | error = copyin(uap->ts, &ts, sizeof(ts)); |
| 951 | if (error != 0) |
| 952 | return (error); |
| 953 | TIMESPEC_TO_TIMEVAL(&tv, &ts); |
| 954 | tvp = &tv; |
| 955 | } else |
| 956 | tvp = NULL; |
| 957 | if (uap->sm != NULL) { |
| 958 | error = copyin(uap->sm, &set, sizeof(set)); |
| 959 | if (error != 0) |
| 960 | return (error); |
| 961 | uset = &set; |
| 962 | } else |
| 963 | uset = NULL; |
| 964 | return (kern_pselect(td, uap->nd, uap->in, uap->ou, uap->ex, tvp, |
| 965 | uset, NFDBITS)); |
| 966 | } |
| 967 | |
| 968 | int |
| 969 | kern_pselect(struct thread *td, int nd, fd_set *in, fd_set *ou, fd_set *ex, |
nothing calls this directly
no test coverage detected