|
Lines 938-945
poll(td, uap)
Link Here
|
| 938 |
struct thread *td; |
938 |
struct thread *td; |
| 939 |
struct poll_args *uap; |
939 |
struct poll_args *uap; |
| 940 |
{ |
940 |
{ |
| 941 |
caddr_t bits; |
941 |
void *bits; |
| 942 |
char smallbits[32 * sizeof(struct pollfd)]; |
942 |
struct pollfd smallbits[32]; |
| 943 |
struct timeval atv, rtv, ttv; |
943 |
struct timeval atv, rtv, ttv; |
| 944 |
int error = 0, timo; |
944 |
int error = 0, timo; |
| 945 |
u_int ncoll, nfds; |
945 |
u_int ncoll, nfds; |
|
Lines 991-997
retry:
Link Here
|
| 991 |
mtx_unlock_spin(&sched_lock); |
991 |
mtx_unlock_spin(&sched_lock); |
| 992 |
mtx_unlock(&sellock); |
992 |
mtx_unlock(&sellock); |
| 993 |
|
993 |
|
| 994 |
error = pollscan(td, (struct pollfd *)bits, nfds); |
994 |
error = pollscan(td, bits, nfds); |
| 995 |
mtx_lock(&sellock); |
995 |
mtx_lock(&sellock); |
| 996 |
if (error || td->td_retval[0]) |
996 |
if (error || td->td_retval[0]) |
| 997 |
goto done; |
997 |
goto done; |