diff options
Diffstat (limited to 'devel/gio-fam-backend/files/patch-fam')
-rw-r--r-- | devel/gio-fam-backend/files/patch-fam | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/devel/gio-fam-backend/files/patch-fam b/devel/gio-fam-backend/files/patch-fam new file mode 100644 index 000000000000..a3b5fe4aa716 --- /dev/null +++ b/devel/gio-fam-backend/files/patch-fam @@ -0,0 +1,52 @@ +--- gio/fam/fam-helper.h.orig 2008-03-10 13:50:12.000000000 -0400 ++++ gio/fam/fam-helper.h 2008-03-10 13:50:29.000000000 -0400 +@@ -28,6 +28,7 @@ + typedef struct _fam_sub fam_sub; + + gboolean _fam_sub_startup (void); ++void _fam_sub_shutdown (void); + fam_sub* _fam_sub_add (const gchar* pathname, + gboolean directory, + gpointer user_data); +--- gio/fam/fam-helper.c.orig 2008-03-10 20:31:58.000000000 -0400 ++++ gio/fam/fam-helper.c 2008-03-10 23:06:32.000000000 -0400 +@@ -181,6 +181,22 @@ _fam_sub_startup (void) + return TRUE; + } + ++void ++_fam_sub_shutdown (void) ++{ ++ G_LOCK (fam_connection); ++ ++ if (fam_connection != NULL) { ++ FAMClose (fam_connection); ++ g_free (fam_connection); ++ g_source_remove (fam_watch_id); ++ fam_watch_id = 0; ++ fam_connection = NULL; ++ } ++ ++ G_UNLOCK (fam_connection); ++} ++ + fam_sub* + _fam_sub_add (const gchar* pathname, + gboolean directory, +--- gio/fam/fam-module.c.orig 2008-03-12 13:38:54.000000000 -0400 ++++ gio/fam/fam-module.c 2008-03-12 13:39:31.000000000 -0400 +@@ -26,6 +26,7 @@ + #include "giomodule.h" + #include "gfamdirectorymonitor.h" + #include "gfamfilemonitor.h" ++#include "fam-helper.h" + + void + g_io_module_load (GIOModule *module) +@@ -37,5 +38,6 @@ g_io_module_load (GIOModule *module) + void + g_io_module_unload (GIOModule *module) + { ++ _fam_sub_shutdown (); + } + |