Better cleanup needed on gpilotd for SIGHUP



Hello!

I've succeeded in making gnome-pilot v1.6.5 on Mandrake for synching
with my m505 over USB (using serial converter).  The device is
/dev/ttyUSB1, and as we all know, it doesn't exist until the cradle's
hotsync button is pressed.

I wrote a small script to start gpilotd when I log on, and basically
loop indefinitely doing the following:

do forever
   while ( file doesn't exist )
      do nothing
   send sighup to gpilotd to cause sync
   while ( file exists )
      do nothing
done

Obviously this is pseudo-code, the full script would make the post even
longer.  The idea is to do syncs when the button is pressed on the
cradle (thus creating the file, thus triggering the sync, etc).

Now here's my problem:  When everything starts up, gpilotd reports not
finding /dev/ttyUSB1 which is (correct, expected and) ok.  

This works perfectly on the first press of the button.

On the second press, I get a dialog reporting 

   Device error on cradle (/dev/ttyUSB1)
   Caught G_IO_NVAL

but everything continues and appears to be OK.

On the third run, however, the same error is reported, but the "gnome
crash" dialog appears.  The last line printed on the console screen is:
---BEGIN---
Factory: OAFIID:GNOME_Evolution_Wombat_CalendarFactory

----END----
(kept the empty line to aid in tracking down).

Does anybody have any ideas?

It would be good if there were a tool available that one could simply
invoke from the command line to do the sync - or have gpilotd "poll" for
those devices missing upon bootup while it's running, and reload their
particular configurations so that a "real" (button-started) hotsync is
possible.

I would be willing to do this (God knows I have the time right now), but
I'd need a little orientation on exactly how gpilotd is built (CORBA
daemon, other internal mechanics) and what I would need to do to add
this stuff.

I'm pretty sure I can do a good job of it, but I'm kinda reluctant to
self-teach myself the code and possibly screw something up in the
process.

Thanks in advance!!

Diego Rivera





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]