On Mon, Apr 1, 2013 at 6:26 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > OK, so the idea is that fetch_with_import() does > > - get_helper(transport), which spawns a helper process; > > - get_importer(transport, &fastimport), which spawns a fast-import > and make it read from the output of the helper process; > > - we did finish_command() to wait for the fast-import to finish, > expecting that the fast-import would finish when the helper stops > feeding it, which in turn would mean the helper would have died. > > The same for the pushing side. The difference with the pushing side is that it's the helper the one waiting for fast-export and it can easily die. > Shouldn't transport_disconnect() have called release_helper() which > in turn calls disconnect_helper() to call finish_command() on the > helper to wait for that procesanyway? Is somebody discarding return > value from transport_disconnect() or the current calling site of > transport_disconnect() is too late to notice the error? It's too late to notice the error. However, only in the case of pushing. -- Felipe Contreras -- 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