beagle r4115 - in trunk/beagle: BeagleClient beagled beagled/IndexHelper



Author: dbera
Date: 2007-11-03 05:25:09 +0000 (Sat, 03 Nov 2007)
New Revision: 4115
ViewCVS link: http://svn.gnome.org/viewcvs/beagle?rev=4115&view=rev

Modified:
   trunk/beagle/BeagleClient/Message.cs
   trunk/beagle/beagled/IndexHelper/RemoteIndexerExecutor.cs
   trunk/beagle/beagled/RemoteIndexer.cs
   trunk/beagle/beagled/Server.cs
Log:
Find out a bunch of ways IndexHelper can keep running despite asked to quit. And fix them. The problem can happen when: server encounters an exception trying to send data, a real exception, not a fake one to signal the need for an indexhelper. Because of the way Transports now work, the same message cannot be send twice (the transport is closed after send()). In that what case, just ignore that message instead of retrying. Also, in certain cases, while a socket is shutting down, a part of the message may go through but there might be an exception trying to send the last 0xff. Put that code in a try-block too. Lastly, when indexhelper is shutdown, sometimes a mysterious body abort the Server.Run() thread - I could not figure out who it is. But nevertheless, there is a possibility that Run() thread could be aborted - take care to catch the AbortException and gracefully shutdown (the alternative is to allow the thread to be aborted and let indexhelper wait on a Shutdown monitor 
 forever). 




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