The "No response within specified time" error

Marko Anastasov marko at marko.anastasov.name
Thu Feb 2 14:50:04 PST 2006


When was the last time you synced? Because now I see that the hal
behaviour's changed and I'm not sure it's all ok. This used to work
fine with 0.5.2 but now it doesn't:

bool
HalClient::get_drives_at_startup(DBusError* error)
{
  char** devices;
  int num_devices;

  devices = libhal_get_all_devices(hal_ctx_, &num_devices, error);
  if (dbus_error_is_set(error))
  {
    return false;
  }
  else
  {
    for (int i = 0; i < num_devices; ++i)
    {
      LibHalDrive* drive;
      if ((drive = libhal_drive_from_udi(hal_ctx_, devices[i])))
      {
        // The device is a drive. Now...
        if (libhal_drive_get_type(drive) ==
          LIBHAL_DRIVE_TYPE_REMOVABLE_DISK)
        {
          char** volumes;
          int num_volumes;

          if ((volumes = libhal_drive_find_all_volumes(
            hal_ctx_, drive, &num_volumes)) && (num_volumes))
          {
            // No loop, each removable drive has only one volume.
            LibHalVolume* volume = libhal_volume_from_udi(
              hal_ctx_, volumes[0]);

            shared_ptr<FlashDrive> flash(new FlashDrive(
              dbus_conn_, drive, volume));
            
I mean, this code executes fine, but then in the FlashDrive ctor
libhal_volume_is_mounted(volume) returns false and eg
libhal_volume_get_mount_point(volume) null (any function that
needs the volume to be mounted, that is).
I've memorized the correct udis of the volumes of my drives by now
and i'm definitely not mistaking with them.
Just to be absolutely sure, I tried calling libhal_volume_is_mounted
in my mount function, right after a dbus reply comes, and passing
the volume on the same udi which was previously used for obviously
successfull mounting, and it's still false.
Have there been any significant internal changes or I should
approach this differently?

Marko

On Wed, 2006-02-01 at 11:37 +0000, Richard Hughes wrote:
> On Tue, 2006-01-31 at 21:30 -0500, David Zeuthen wrote:
> > On Wed, 2006-02-01 at 03:19 +0100, Marko Anastasov wrote:
> > > I'm using Fedora 4 and, well, the packages available are quite
> > > dated: dbus is 0.33 and hal 0.5.2; the kernel is 2.6.14 and udev 058.
> > 
> > That's why... This stuff was adding in 0.5.6 or so..
> > 
> > > I've just built gnome-mount with configure.in modified to ask for
> > > these versions (there's a typo there at line 75, "P2G_CONF..."),
> > > tried to mount a volume with
> > > './gnome-mount -v -n -h /org/freedesktop/Hal/devices/volume_part1...'
> > > and it does *not* work (no output though), so I guess I definitely
> > > need to install the newer versions from the CVS. Hopefully it will
> > > go without problems. I'll do that tomorrow, it's 3am here...
> > 
> > It might be a lot easier for you to update to Fedora Rawhide ("Rawhide"
> > is the development tree of Fedora) or install FC5test2 and update to the
> > latest versions...
> 
> I've got a new HAL in my FC4 tree (saves updating to rawhide)
> (http://gnome-power.sourceforge.net/data/utopia.repo) in the
> experimental branch. I'll resync to todays CVS later if you want.
> 
> Richard.
> 
> 
> 



More information about the hal mailing list