| Subject | Re: [PATCH v4 11/13] xen/pvcalls: implement poll command | From | Boris Ostrovsky <> | Date | Fri, 22 Sep 2017 18:27:20 -0400 |
| |
> > +static unsigned int pvcalls_front_poll_passive(struct file *file, > + struct pvcalls_bedata *bedata, > + struct sock_mapping *map, > + poll_table *wait) > +{ > + int notify, req_id, ret; > + struct xen_pvcalls_request *req; > + > + if (test_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT, > + (void *)&map->passive.flags)) { > + uint32_t req_id = READ_ONCE(map->passive.inflight_req_id); > + > + if (req_id != PVCALLS_INVALID_ID && > + READ_ONCE(bedata->rsp[req_id].req_id) == req_id) > + return POLLIN | POLLRDNORM;
Do we need to clear PVCALLS_FLAG_ACCEPT_INFLIGHT? Or do we expect a (subsequent?) accept() to do that?
-boris
> + > + poll_wait(file, &map->passive.inflight_accept_req, wait); > + return 0; > + } > +
|