mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-02 07:28:21 +00:00
pipefs: fix binding and poll
This commit is contained in:
@@ -117,7 +117,7 @@ static int internalpoll(vnode_t *node, polldata_t *data, int events) {
|
|||||||
events |= POLLHUP;
|
events |= POLLHUP;
|
||||||
if (pipenode->writers == 0 && pipenode->open)
|
if (pipenode->writers == 0 && pipenode->open)
|
||||||
revents |= POLLHUP;
|
revents |= POLLHUP;
|
||||||
else if (RINGBUFFER_DATACOUNT(&pipenode->data) > 0)
|
if (RINGBUFFER_DATACOUNT(&pipenode->data) > 0)
|
||||||
revents |= POLLIN;
|
revents |= POLLIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -481,6 +481,8 @@ int pipefs_getbinding(vnode_t *node, vnode_t **pipep) {
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pipefs_leavebinding(vnode_t *pipenode) {
|
void pipefs_leavebinding(vnode_t *vnode) {
|
||||||
|
vnode_t *pipenode = vnode->fifobinding;
|
||||||
|
vnode->fifobinding = NULL;
|
||||||
VOP_RELEASE(pipenode);
|
VOP_RELEASE(pipenode);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user