From dd9bd594bb81b71f0220563f952d3f559b945119 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Wed, 30 Jul 2003 23:52:27 +0000 Subject: [PATCH] Fixed old test. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4145 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../DiskDeviceManagerTest.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/tests/kernel/core/disk_device_manager/DiskDeviceManagerTest.cpp b/src/tests/kernel/core/disk_device_manager/DiskDeviceManagerTest.cpp index 5e22f0f90d..f0837126f2 100644 --- a/src/tests/kernel/core/disk_device_manager/DiskDeviceManagerTest.cpp +++ b/src/tests/kernel/core/disk_device_manager/DiskDeviceManagerTest.cpp @@ -10,6 +10,7 @@ #include #include +#include const char *kTestFileDevice = "/boot/home/tmp/test-file-device"; @@ -23,13 +24,21 @@ main() partition_id id = manager->CreateFileDevice(kTestFileDevice); if (id < B_OK) printf("creating the file device failed: %s\n", strerror(id)); - if (manager->Lock()) { - for (int32 cookie = 0; - KDiskDevice *device = manager->NextDevice(&cookie); ) { + // wait for scanning jobs to finish + for (;;) { + if (ManagerLocker locker = manager) { + if (manager->CountJobs() == 0) + break; + } + } + // print devices + for (int32 cookie = 0; + KDiskDevice *device = manager->RegisterNextDevice(&cookie); ) { + PartitionRegistrar _(device, true); + if (DeviceReadLocker locker = device) { device->Dump(); printf("\n"); } - manager->Unlock(); } // error = manager->DeleteFileDevice(kTestFileDevice);