[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 11/18] xen/pvcalls: implement accept command
> static void __pvcalls_back_accept(struct work_struct *work) > { > + struct sockpass_mapping *mappass = container_of( > + work, struct sockpass_mapping, register_work); > + struct sock_mapping *map; > + struct pvcalls_ioworker *iow; > + struct pvcalls_back_priv *priv; > + struct xen_pvcalls_response *rsp; > + struct xen_pvcalls_request *req; > + void *page = NULL; > + int notify; > + int ret = -EINVAL; > + unsigned long flags; > + > + priv = mappass->priv; > + /* We only need to check the value of "cmd" atomically on read. */ > + spin_lock_irqsave(&mappass->copy_lock, flags); > + req = &mappass->reqcopy; > + if (req->cmd != PVCALLS_ACCEPT) { > + spin_unlock_irqrestore(&mappass->copy_lock, flags); > + return; > + } > + spin_unlock_irqrestore(&mappass->copy_lock, flags); > + > + map = kzalloc(sizeof(*map), GFP_KERNEL); From here on, the code looks almost identical to connect. Can this be factored out? -boris _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |