static DBusLoop *loop = NULL;
static dbus_bool_t
-_kqueue_watch_callback (DBusWatch *watch, unsigned int condition, void *data)
-{
- return dbus_watch_handle (watch, condition);
-}
-
-static dbus_bool_t
_handle_kqueue_watch (DBusWatch *watch, unsigned int flags, void *data)
{
struct kevent ev;
kq = -1;
if (watch != NULL)
{
- _dbus_loop_remove_watch (loop, watch, _kqueue_watch_callback, NULL);
+ _dbus_loop_remove_watch (loop, watch);
+ _dbus_watch_invalidate (watch);
_dbus_watch_unref (watch);
watch = NULL;
}
goto out;
}
- if (!_dbus_loop_add_watch (loop, watch, _kqueue_watch_callback,
- NULL, NULL))
+ if (!_dbus_loop_add_watch (loop, watch))
{
_dbus_warn ("Unable to add reload watch to main loop");
- close (kq);
- kq = -1;
+ _dbus_watch_invalidate (watch);
_dbus_watch_unref (watch);
watch = NULL;
+ close (kq);
+ kq = -1;
goto out;
}
}
int new_fds[MAX_DIRS_TO_WATCH];
char *new_dirs[MAX_DIRS_TO_WATCH];
DBusList *link;
- int i, j, f, fd;
+ int i, j, fd;
struct kevent ev;
if (!_init_kqueue (context))
*/
for (i = 0; new_dirs[i]; i++)
{
- for (j = 0; i < num_fds; j++)
+ for (j = 0; j < num_fds; j++)
{
if (dirs[j] && strcmp (new_dirs[i], dirs[j]) == 0)
{