cdev: fix copying pollhandles correctly
The pollhandle is solely implemented in libfuse and does not correspond to some kernel-intern object. Instead, the kernel notifies us when it has poll-waiters via a flag. If that flag is set we should notify the kernel whenever the poll-flags change. Therefore, we can safely copy the pollhandle all the time and delete our temporary handles. Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
This commit is contained in:
parent
8e23d947f1
commit
d0e625f074
@ -678,10 +678,9 @@ static void ll_poll(fuse_req_t req, struct fuse_file_info *fi,
|
||||
return;
|
||||
}
|
||||
|
||||
if (client->ph) {
|
||||
if (client->ph)
|
||||
fuse_pollhandle_destroy(client->ph);
|
||||
client->ph = ph;
|
||||
}
|
||||
client->ph = ph;
|
||||
|
||||
flags = EPOLLOUT | EPOLLWRNORM;
|
||||
if (!shl_ring_is_empty(client->ring))
|
||||
|
Loading…
x
Reference in New Issue
Block a user