diff options
author | José Bollo <jose.bollo@iot.bzh> | 2018-03-23 17:46:59 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2018-06-13 17:14:00 +0200 |
commit | e7e42ce9196e865a2dfd5a460932b0357885e603 (patch) | |
tree | 0e0ca685ca43a0db879f0b7d2e1dcdd3d013af7a /src/fdev.c | |
parent | e12c3008f10cf5d61cc3235af6562a007ff08e76 (diff) |
fdev: Improve fdev handling with epoll
Change-Id: I53c6eb394772e40f87000a0e5383be923f5d15f1
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/fdev.c')
-rw-r--r-- | src/fdev.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -76,7 +76,8 @@ void fdev_unref(struct fdev *fdev) if (fdev && __atomic_sub_fetch(&fdev->refcount, 2, __ATOMIC_RELAXED) <= 1) { if (fdev->itf) { fdev->itf->disable(fdev->closure_itf, fdev); - fdev->itf->unref(fdev->closure_itf); + if (fdev->itf->unref) + fdev->itf->unref(fdev->closure_itf); } if (fdev->refcount) close(fdev->fd); @@ -135,7 +136,7 @@ void fdev_set_events(struct fdev *fdev, uint32_t events) if (events != fdev->events) { fdev->events = events; if (is_active(fdev)) - fdev->itf->enable(fdev->closure_itf, fdev); + fdev->itf->update(fdev->closure_itf, fdev); } } |