i lost the dbus message.

View: New views
1 Messages — Rating Filter:   Alert me  

i lost the dbus message.

by G.t :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
 
i use the libdbus and libhal to mount the devices. but without glib.
 
first i initialized the hal and connect to dbus. and registed add and remove callback function. 
 
there is some code .
____________________________code_________________________
 
 hal_ctx = hal_init();
 if (hal_ctx == NULL)
  return;
 
 mount_all (hal_ctx);
 
 int fd=-1;
 dbus_connection_get_unix_fd(dbus_connection, &fd);
 
// if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0) {
//  perror("fcntl");
// }
 
 fd_set rfds;
 int retval;
 struct timeval tv;
 while (m_pTvm->bRun) {
 
  FD_ZERO(&rfds);
  FD_SET(fd, &rfds);
  tv.tv_sec = 0;
  tv.tv_usec = 0;
  retval = select(fd+1, &rfds, NULL, NULL, &tv);
  if (retval == -1) { // quit
   continue;
   //break;
  }
  do
  {
   printf("----------------------dbus_connection_read_write_dispatch----------------------\n");
   dbus_connection_read_write_dispatch(dbus_connection, 0);
  } while (dbus_connection_get_dispatch_status(dbus_connection) == DBUS_DISPATCH_DATA_REMAINS);
  /*
  // non blocking read of the next available message
  dbus_connection_read_write(dbus_connection, -1);
  while (dbus_connection_dispatch(dbus_connection) == DBUS_DISPATCH_DATA_REMAINS);
  */
  dbus_connection_flush(dbus_connection);
 }
____________________________code_________________________
 
when I insert the cd-rom, the system mounted cd-rom some times ,but not each times.
i'm look forward your advices. thanks.
 
George Tung.
2009-9-9
 
 
 

_______________________________________________
hal mailing list
hal@...
http://lists.freedesktop.org/mailman/listinfo/hal