On Thursday 26 July 2012 10:29:51 Junio C Hamano wrote: > Of course, if the dispatch loop has to be rewritten so that a > central dispatcher decides what to call, individual input handlers > do not need to say NOT_HANDLED nor TERMINATE, as the central > dispatcher should keep track of the overall state of the system, and > the usual "0 on success, negative on error" may be sufficient. > > One thing I wondered was how an input "capability" (or "list") > should be handled after "import" was issued (hence batch_active > becomes true). The dispatcher loop in the patch based on > NOT_HANDLED convention will happily call cmd_capabilities(), which > does not have any notion of the batch_active state (because it is a > function scope static inside cmd_import()), and will say "Ah, that > is mine, and let me do my thing." If we want to diagnose such an > input stream as an error, the dispatch loop needs to become aware of > the overall state of the system _anyway_, so that may be an argument > against the NOT_HANDLED based dispatch system the patch series uses. That's a good point. The current implementation allows other commands to appear during import batches. This shouldn't be possible according to the protocol, I think. But it doesn't do harm. Solving it will require a global state and go towards a global displatcher. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html