/** * Initializes the inotify backend. This must be called before * any other functions in this module. * * @returns TRUE if initialization succeeded, FALSE otherwise */ gboolean ih_startup (void) { static gboolean initialized = FALSE; static gboolean result = FALSE; G_LOCK(inotify_lock); if (initialized == TRUE) { G_UNLOCK(inotify_lock); return result; } initialized = TRUE; result = ip_startup (ih_event_callback); if (!result) { g_warning( "Could not initialize inotify\n"); G_UNLOCK(inotify_lock); return FALSE; } im_startup (ih_not_missing_callback); id_startup (); IH_W ("started mate-vfs inotify backend\n"); G_UNLOCK(inotify_lock); return TRUE; }
/** * _ih_startup: * * Initializes the inotify backend. This must be called before * any other functions in this module. * * Returns: #TRUE if initialization succeeded, #FALSE otherwise */ gboolean _ih_startup (void) { static gboolean initialized = FALSE; static gboolean result = FALSE; G_LOCK (inotify_lock); if (initialized == TRUE) { G_UNLOCK (inotify_lock); return result; } result = _ip_startup (ih_event_callback); if (!result) { G_UNLOCK (inotify_lock); return FALSE; } _im_startup (ih_not_missing_callback); IH_W ("started gvfs inotify backend\n"); initialized = TRUE; G_UNLOCK (inotify_lock); return TRUE; }
/** * Cancels a subscription which was being monitored. */ gboolean ih_sub_cancel (ih_sub_t * sub) { G_LOCK(inotify_lock); if (!sub->cancelled) { IH_W("cancelling %s\n", sub->pathname); sub->cancelled = TRUE; im_rm (sub); ip_stop_watching (sub); } G_UNLOCK(inotify_lock); return TRUE; }