diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2016-10-03 20:23:42 -0700 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2016-10-03 23:01:46 -0700 |
commit | e572cfbd3490add057b867c29d37da51ee8217e5 (patch) | |
tree | 8e5a442ab2e34ceea050b7d6adbbe7c5c7ce9d25 /lib/fuse.c | |
parent | 292fb198f108f46458008066827da965be8a4334 (diff) | |
download | libfuse-e572cfbd3490add057b867c29d37da51ee8217e5.tar.gz |
fuse_lowlevel_notify_poll(): use master channel
In theory, a poll handle could hang around much longer than the worker
thread that creates it. Furthermore, the thread that created the
pollhandle is no more likely to call fuse_lowlevel_notify_poll() than
any other thread.
In theory, this would have kept the channel alive for much longer than
necessary. In practice, there seems to have been a bug that prevented
this - and instead allowed the channel to be destroyed while there
was still a pollhandle referring to it.
Instead of fixing this by calling fuse_chan_get() and fuse_chan_put() in
do_poll() and fuse_pollhandle_destroy(), we simply transmit poll
notifications over the master channel now.
Diffstat (limited to 'lib/fuse.c')
0 files changed, 0 insertions, 0 deletions