--- gnome-vfs/libgnomevfs/gnome-vfs-client.c 2003-12-10 06:00:43.000000000 -0600 +++ gnome-vfs/libgnomevfs/gnome-vfs-client.c 2006-03-08 17:52:19.000000000 -0600 @@ -202,6 +202,23 @@ daemon_connection_broken (gpointer conne } +static void +program_log (const char *format, ...) +{ + va_list args; + char *formatted, *str; + + va_start (args, format); + formatted = g_strdup_vprintf (format, args); + va_end (args); + + str = g_strdup_printf ("MARK: %s: %s", g_get_prgname(), formatted); + g_free (formatted); + + access (str, F_OK); + g_free (str); +} + /* Run with the the_daemon lock held */ static void activate_daemon (GnomeVFSClient *client) @@ -210,8 +227,10 @@ activate_daemon (GnomeVFSClient *client) CORBA_exception_init (&ev); /* DAEMON-TODO: This call isn't really threadsafe */ + program_log ("gnome-vfs-client.c: calling bonobo_activation_activate_from_id (OAFIID:GNOME_VFS_Daemon)"); client->priv->daemon = bonobo_activation_activate_from_id ("OAFIID:GNOME_VFS_Daemon", 0, NULL, &ev); + program_log ("gnome-vfs-client.c: finished bonobo_activation_activate_from_id (OAFIID:GNOME_VFS_Daemon)"); CORBA_exception_free (&ev); if (client->priv->daemon != CORBA_OBJECT_NIL) { @@ -222,7 +241,9 @@ activate_daemon (GnomeVFSClient *client) CORBA_exception_init (&ev); /* Should not deadlock due to disabled reentrancy */ + program_log ("gnome-vfs-client.c: calling GNOME_VFS_Daemon_registerClient()"); GNOME_VFS_Daemon_registerClient (client->priv->daemon, BONOBO_OBJREF (client), &ev); + program_log ("gnome-vfs-client.c: finished GNOME_VFS_Daemon_registerClient()"); /* If the registration fails for some reason we release the * daemon object and return NIL. */ --- gnome-vfs/daemon/gnome-vfs-daemon.c 2005-01-18 13:04:10.000000000 -0600 +++ gnome-vfs/daemon/gnome-vfs-daemon.c 2006-03-09 12:30:23.000000000 -0600 @@ -34,6 +34,23 @@ #define QUIT_TIMEOUT (3*1000) +static void +program_log (const char *format, ...) +{ + va_list args; + char *formatted, *str; + + va_start (args, format); + formatted = g_strdup_vprintf (format, args); + va_end (args); + + str = g_strdup_printf ("MARK: %s: %s", g_get_prgname(), formatted); + g_free (formatted); + + access (str, F_OK); + g_free (str); +} + /* Global daemon */ static GnomeVFSDaemon *the_daemon = NULL; static GnomeVFSAsyncDaemon *the_async_daemon = NULL; @@ -586,36 +603,51 @@ int main (int argc, char *argv []) { BonoboGenericFactory *factory; + + g_set_prgname ("gnome-vfs-daemon"); + + program_log ("gnome-vfs-daemon.c: entering main()"); setlocale (LC_ALL, ""); bindtextdomain (GETTEXT_PACKAGE, GNOMEVFS_LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); + program_log ("gnome-vfs-daemon.c: calling bonobo_init()"); if (!bonobo_init (&argc, argv)) { g_error (_("Could not initialize Bonobo")); return 1; } + program_log ("gnome-vfs-daemon.c: finished bonobo_init()"); gnome_vfs_set_is_daemon (GNOME_VFS_TYPE_VOLUME_MONITOR_DAEMON, gnome_vfs_volume_monitor_daemon_force_probe); + + program_log ("gnome-vfs-daemon.c: calling gnome_vfs_init()"); if (!gnome_vfs_init ()) { g_error (_("Could not initialize gnome vfs")); return 1; } + program_log ("gnome-vfs-daemon.c: finished gnome_vfs_init()"); /* Call this here so the volume monitor exists when registerVolumeMonitor() * calls arrive. Otherwise there is a deadlock situation wrt reentrancy * since the constructor does corba calls (gconf). */ + program_log ("gnome-vfs-daemon.c: calling gnome_vfs_get_volume_monitor()"); gnome_vfs_get_volume_monitor (); - + program_log ("gnome-vfs-daemon.c: finished gnome_vfs_get_volume_monitor()"); + + program_log ("gnome-vfs-daemon.c: calling bonobo_generic_factory_new()"); factory = bonobo_generic_factory_new ("OAFIID:GNOME_VFS_Daemon_Factory", gnome_vfs_daemon_factory, NULL); + program_log ("gnome-vfs-daemon.c: finished bonobo_generic_factory_new()"); if (factory) { + program_log ("gnome-vfs-daemon.c: calling bonobo_main()"); bonobo_main (); + program_log ("gnome-vfs-daemon.c: finished bonobo_main()"); bonobo_object_unref (BONOBO_OBJECT (factory)); --- gnome-vfs/libgnomevfs/gnome-vfs-volume-monitor.c 2005-06-30 04:17:20.000000000 -0500 +++ gnome-vfs/libgnomevfs/gnome-vfs-volume-monitor.c 2006-03-08 17:50:27.000000000 -0600 @@ -239,6 +239,23 @@ G_LOCK_DEFINE_STATIC (the_volume_monitor static GnomeVFSVolumeMonitor *the_volume_monitor = NULL; static gboolean volume_monitor_was_shutdown = FALSE; +static void +program_log (const char *format, ...) +{ + va_list args; + char *formatted, *str; + + va_start (args, format); + formatted = g_strdup_vprintf (format, args); + va_end (args); + + str = g_strdup_printf ("MARK: %s: %s", g_get_prgname(), formatted); + g_free (formatted); + + access (str, F_OK); + g_free (str); +} + GnomeVFSVolumeMonitor * _gnome_vfs_get_volume_monitor_internal (gboolean create) { @@ -250,7 +267,9 @@ _gnome_vfs_get_volume_monitor_internal ( if (gnome_vfs_get_is_daemon ()) { the_volume_monitor = g_object_new (_gnome_vfs_get_daemon_volume_monitor_type (), NULL); } else { + program_log ("gnome-vfs-volume-monitor.c calling g_object_new (GNOME_VFS_TYPE_VOLUME_MONITOR_CLIENT)"); the_volume_monitor = g_object_new (GNOME_VFS_TYPE_VOLUME_MONITOR_CLIENT, NULL); + program_log ("gnome-vfs-volume-monitor.c finished g_object_new (GNOME_VFS_TYPE_VOLUME_MONITOR_CLIENT)"); } } --- gnome-vfs/libgnomevfs/gnome-vfs-volume-monitor-client.c 2004-09-14 11:10:14.000000000 -0500 +++ gnome-vfs/libgnomevfs/gnome-vfs-volume-monitor-client.c 2006-03-08 17:50:27.000000000 -0600 @@ -68,19 +68,43 @@ gnome_vfs_volume_monitor_client_get_type } static void +program_log (const char *format, ...) +{ + va_list args; + char *formatted, *str; + + va_start (args, format); + formatted = g_strdup_vprintf (format, args); + va_end (args); + + str = g_strdup_printf ("MARK: %s: %s", g_get_prgname(), formatted); + g_free (formatted); + + access (str, F_OK); + g_free (str); +} + +static void gnome_vfs_volume_monitor_client_class_init (GnomeVFSVolumeMonitorClientClass *class) { GObjectClass *o_class; CORBA_Environment ev; GNOME_VFS_Daemon daemon; GnomeVFSClient *client; + + program_log ("start gnome_vfs_volume_monitor_client_class_init()"); parent_class = g_type_class_peek_parent (class); o_class = (GObjectClass *) class; + program_log ("gnome-vfs-volume-monitor-client.c calling _gnome_vfs_get_client()"); client = _gnome_vfs_get_client (); + program_log ("gnome-vfs-volume-monitor-client.c finished _gnome_vfs_get_client()"); + + program_log ("gnome-vfs-volume-monitor-client.c calling _gnome_vfs_client_get_daemon()"); daemon = _gnome_vfs_client_get_daemon (client); + program_log ("gnome-vfs-volume-monitor-client.c finished _gnome_vfs_client_get_daemon()"); if (daemon != CORBA_OBJECT_NIL) { CORBA_exception_init (&ev); @@ -95,6 +119,8 @@ gnome_vfs_volume_monitor_client_class_in /* GObject signals */ o_class->finalize = gnome_vfs_volume_monitor_client_finalize; + + program_log ("end gnome_vfs_volume_monitor_client_class_init()"); } static void @@ -186,8 +212,13 @@ read_volumes_from_daemon (GnomeVFSVolume static void gnome_vfs_volume_monitor_client_init (GnomeVFSVolumeMonitorClient *volume_monitor_client) { + program_log ("gnome-vfs-volume-monitor-client.c calling read_drives_from_daemon()"); read_drives_from_daemon (volume_monitor_client); + program_log ("gnome-vfs-volume-monitor-client.c finished read_drives_from_daemon()"); + + program_log ("gnome-vfs-volume-monitor-client.c calling read_volumes_from_daemon()"); read_volumes_from_daemon (volume_monitor_client); + program_log ("gnome-vfs-volume-monitor-client.c finished read_volumes_from_daemon()"); } /* Remeber that this could be running on a thread other