summaryrefslogtreecommitdiff
path: root/hald/linux/blockdev.c
diff options
context:
space:
mode:
authorRob Taylor <rob.taylor@collabora.co.uk>2006-12-08 09:50:03 +0000
committerRob Taylor <rob.taylor@codethink.co.uk>2007-01-31 14:23:17 +0000
commiteb166fe59ecc83dde48e2f4ff5228830fbcfa1a4 (patch)
treec59eb551bcaa0bb83dbbc85ccd2ce7f0c124243e /hald/linux/blockdev.c
parentedc7a142ed13d6245f307187f3eadd3bddd4b9da (diff)
Make hotplugging non-recursive.
This adds a notify callback for when hald_runner has finished calling a callout. For linux, we install hotplug_event_process_queue as the notify, and modify hotplug_event_process_queue to iterate the queue. All recrursive calls to hotplug_event_process_queue are removed. This results in massive stack and a not inconsiquential heap savings.
Diffstat (limited to 'hald/linux/blockdev.c')
-rw-r--r--hald/linux/blockdev.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/hald/linux/blockdev.c b/hald/linux/blockdev.c
index 52c6071f..55f22f15 100644
--- a/hald/linux/blockdev.c
+++ b/hald/linux/blockdev.c
@@ -315,7 +315,6 @@ generate_fakevolume_hotplug_event_add_for_storage_device (HalDevice *d)
hotplug_event->sysfs.net_ifindex = -1;
hotplug_event_enqueue (hotplug_event);
- hotplug_event_process_queue ();
}
static void
@@ -1303,7 +1302,6 @@ block_rescan_storage_done (HalDevice *d, guint32 exit_type,
hotplug_event = blockdev_generate_remove_hotplug_event (fakevolume);
if (hotplug_event != NULL) {
hotplug_event_enqueue (hotplug_event);
- hotplug_event_process_queue ();
}
}
}