On Wed, Dec 15, 2010 at 03:32:26PM +0000, Daniel P. Berrange wrote: > On Wed, Dec 15, 2010 at 08:24:44AM -0700, Eric Blake wrote: > > On 12/15/2010 08:20 AM, Eric Blake wrote: > > > On 12/14/2010 07:34 PM, Wen Congyang wrote: > > > > > > In addition to Hu's comments, and the fact that you are probably going > > > to revise the exposed interface anyways, here's some additional points. > > > > One other point - how does this relate to the timeouts already > > implemented in places like daemon/event.c or src/util/event.c? Are > > those implementations already sufficient for your needs without having > > to write a new implementation? Or conversely, should your patch series > > be lengthened into rewriting those interfaces to take advantage of your > > new implementation in order to ease maintenance by focusing all timeout > > code into a single reusable interface? In other words, I'm still > > seeking a bit more justification for this patch. > > IMHO it should be sufficient for this new code to simply call > the existing virEventAddTimeout() API, and run the event loop > in the background thread. But wouldn't it be a better idea to implement new timer APIs that focus only on timeout? I think it will make the code more modular and easier to maintain&improve. Althouth the virEventAddTimeout() API works well, but it has several disadvantages: - Not so easy to use: the user have to create a thread to run the event loop - All timers are not only serialized with each other but also with event handlers(if there are), if there are too many timers and event handlers it could cause performance impact. -- Thanks, Hu Tao -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list