Signed-off-by: Karel Zak <kzak@redhat.com>
{
if (!me)
return;
+
+ if (me->opers->op_free_data)
+ me->opers->op_free_data(me);
+
list_del(&me->ents);
if (me->fd >= 0)
close(me->fd);
uint32_t events; /* wanted epoll events */
const struct monitor_opers *opers;
+ void *data; /* private type-specific data */
unsigned int enable : 1,
changed : 1;
struct monitor_opers {
int (*op_get_fd)(struct libmnt_monitor *, struct monitor_entry *);
int (*op_close_fd)(struct libmnt_monitor *, struct monitor_entry *);
+ int (*op_free_data)(struct monitor_entry *);
int (*op_event_verify)(struct libmnt_monitor *, struct monitor_entry *);
};