http://bugzilla.novell.com/show_bug.cgi?id=510791

User [email protected] added comment
http://bugzilla.novell.com/show_bug.cgi?id=510791#c1





--- Comment #1 from Bryan Murawski <[email protected]>  2009-06-14 22:22:51 
MDT ---
So after further research this behavior seems to be occurring due to the code
for trapping and untrapping signals. What's happening is that the 'Found'
signal from the resolve call is being put into the delayed_signals_recycled
queue. Then instead of being processed from there when DispatchSignals() is
called it's moved into another queue (the delayed_signals queue). Here it waits
indefinitely for another call to DispatchSignals() to process it, but one never
comes along since that function is only called when we receive new messages.

This whole AvahiDBus section seems poorly designed to me. First off, I don't
understand why there are using two queues for signals in the first place when
one would do. Second, relying on new messages to trigger a DispatchSignals()
call is a bad idea since there is no guarantee that another message will ever
be received. 

I think that the code should be cleaned up so that there is only one delayed
signal queue and so that this queue is processed on the call to
UntrapSignals(). I can submit a patch that does as much if this sounds right to
you.

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to