2008-04-04 Dan Williams <dcbw@redhat.com>

* src/nm-hal-manager.c
	  src/nm-hal-manager.h
		- (hal_init): don't look for hardware here
		- (nm_hal_manager_start): new function; look for hardware here instead,
			which can be done at a later time than hal_init()

	* src/NetworkManager.c
		- (main): start HAL manager after entering the main loop



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3530 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
Dan Williams 2008-04-04 14:59:30 +00:00
parent 92a6f3c3c8
commit d60d61c9d1
4 changed files with 38 additions and 17 deletions

View file

@ -1,3 +1,14 @@
2008-04-04 Dan Williams <dcbw@redhat.com>
* src/nm-hal-manager.c
src/nm-hal-manager.h
- (hal_init): don't look for hardware here
- (nm_hal_manager_start): new function; look for hardware here instead,
which can be done at a later time than hal_init()
* src/NetworkManager.c
- (main): start HAL manager after entering the main loop
2008-04-03 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-settings.c

View file

@ -205,6 +205,13 @@ write_pidfile (const char *pidfile)
nm_warning ("Closing %s failed: %s", pidfile, strerror (errno));
}
static gboolean
start_hal (gpointer user_data)
{
nm_hal_manager_start ((NMHalManager *) user_data);
return FALSE;
}
/*
* main
*
@ -343,6 +350,7 @@ main (int argc, char *argv[])
hal_manager = nm_hal_manager_new (manager);
if (!hal_manager)
goto done;
g_idle_add (start_hal, hal_manager);
/* Bring up the loopback interface. */
nm_system_enable_loopback ();

View file

@ -569,7 +569,6 @@ hal_init (NMHalManager *manager)
{
DBusError error;
DBusGConnection *connection;
gboolean success = FALSE;
manager->hal_ctx = libhal_ctx_new ();
if (!manager->hal_ctx) {
@ -586,7 +585,7 @@ hal_init (NMHalManager *manager)
nm_error ("libhal_ctx_init() failed: %s\n"
"Make sure the hal daemon is running?",
error.message);
goto out;
goto error;
}
libhal_ctx_set_user_data (manager->hal_ctx, manager);
@ -598,25 +597,19 @@ hal_init (NMHalManager *manager)
if (dbus_error_is_set (&error)) {
nm_error ("libhal_device_property_watch_all(): %s", error.message);
libhal_ctx_shutdown (manager->hal_ctx, NULL);
goto out;
goto error;
}
/* Add any devices we know about */
add_killswitch_devices (manager);
add_initial_devices (manager);
success = TRUE;
return TRUE;
out:
if (!success) {
if (dbus_error_is_set (&error))
dbus_error_free (&error);
if (manager->hal_ctx) {
libhal_ctx_free (manager->hal_ctx);
manager->hal_ctx = NULL;
}
error:
if (dbus_error_is_set (&error))
dbus_error_free (&error);
if (manager->hal_ctx) {
libhal_ctx_free (manager->hal_ctx);
manager->hal_ctx = NULL;
}
return success;
return FALSE;
}
static void
@ -748,6 +741,14 @@ nm_hal_manager_new (NMManager *nm_manager)
return manager;
}
void
nm_hal_manager_start (NMHalManager *manager)
{
/* Find hardware we care about */
add_killswitch_devices (manager);
add_initial_devices (manager);
}
static void
destroy_creator (gpointer data, gpointer user_data)
{

View file

@ -6,6 +6,7 @@
typedef struct _NMHalManager NMHalManager;
NMHalManager *nm_hal_manager_new (NMManager *nm_manager);
void nm_hal_manager_start (NMHalManager *manager);
void nm_hal_manager_destroy (NMHalManager *manager);
#endif /* NM_HAL_MANAGER_H */