gio: Always purge kqueue subs from missing list
gio: Always purge kqueue subs from missing list

Previously, _kh_cancel_sub assumed that it only needed to call
_km_remove if sub did not exist in subs_hash_table. This is erroneous
because the complementary operation, _km_add_missing, can be called
from process_kqueue_notifications, in which context sub can *only* have
come from subs_hash_table.

Since _km_remove is implemented using g_slist_remove, which is
documented to be a noop if the list does not contain the element to be
removed, it is safe to call _km_remove unconditionally here.

https://bugzilla.gnome.org/show_bug.cgi?id=778515

johne53/MB3Glib,johne53/MB3Glib,johne53/MB3Glib,johne53/MB3Glib,endlessm/glib,endlessm/glib,endlessm/glib,endlessm/glib,johne53/MB3Glib,johne53/MB3Glib,endlessm/glib