hal/hald/linux osspec.c,1.16,1.17
Joe Shaw
joe at pdx.freedesktop.org
Tue Apr 27 12:05:28 PDT 2004
Update of /cvs/hal/hal/hald/linux
In directory pdx:/tmp/cvs-serv29919/hald/linux
Modified Files:
osspec.c
Log Message:
2004-04-27 Joe Shaw <joe at ximian.com>
* doc/TODO: Remove a now completed TODO item.
* hald/hald.c (gdl_store_changed): Don't call hal_callout_device()
in the removed case.
* hald/linux/osspec.c (remove_callouts_finished): Actually remove
the device from the GDL in this callback.
(remove_device, remove_class_device): Connect to the
callouts_finished signal and call device callouts instead of
removing it from the GDL here.
Index: osspec.c
===================================================================
RCS file: /cvs/hal/hal/hald/linux/osspec.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- a/osspec.c 26 Apr 2004 16:52:54 -0000 1.16
+++ b/osspec.c 27 Apr 2004 19:05:26 -0000 1.17
@@ -430,6 +430,12 @@
}
static void
+remove_callouts_finished (HalDevice *d, gpointer user_data)
+{
+ hal_device_store_remove (hald_get_gdl (), d);
+}
+
+static void
remove_device (const char *path, const char *subsystem)
{ HalDevice *d;
@@ -444,8 +450,11 @@
} else {
/*HAL_INFO (("Removing device @ sysfspath %s, udi %s",
path, d->udi));*/
-
- hal_device_store_remove (hald_get_gdl (), d);
+
+ g_signal_connect (d, "callouts_finished",
+ G_CALLBACK (remove_callouts_finished), NULL);
+
+ hal_callout_device (d, FALSE);
}
}
@@ -490,11 +499,12 @@
ch->removed (ch, path, d);
}
}
-
- hal_device_store_remove (hald_get_gdl (), d);
- }
-
+ g_signal_connect (d, "callouts_finished",
+ G_CALLBACK (remove_callouts_finished), NULL);
+
+ hal_callout_device (d, FALSE);
+ }
/* For now, just call the normal remove_device */
remove_device (path, subsystem);
More information about the hal-commit
mailing list