> On 02 Aug 2016, at 21:56, Torsten Bögershausen <tboegi@xxxxxx> wrote: > > On Sun, Jul 31, 2016 at 11:45:08PM +0200, Lars Schneider wrote: >> >>> On 31 Jul 2016, at 22:36, Torstem Bögershausen <tboegi@xxxxxx> wrote: >>> >>> >>> >>>> Am 29.07.2016 um 20:37 schrieb larsxschneider@xxxxxxxxx: >>>> >>>> From: Lars Schneider <larsxschneider@xxxxxxxxx> >>>> >>>> packet_flush() would die in case of a write error even though for some callers >>>> an error would be acceptable. >>> What happens if there is a write error ? >>> Basically the protocol is out of synch. >>> Lenght information is mixed up with payload, or the other way >>> around. >>> It may be, that the consequences of a write error are acceptable, >>> because a filter is allowed to fail. >>> What is not acceptable is a "broken" protocol. >>> The consequence schould be to close the fd and tear down all >>> resources. connected to it. >>> In our case to terminate the external filter daemon in some way, >>> and to never use this instance again. >> >> Correct! That is exactly what is happening in kill_protocol2_filter() >> here: > > Wait a second. > Is kill the same as shutdown ? > I would expect that No, kill is used if the filter behaved strangely or signaled an error. "Shutdown" is a graceful shutdown. However, that might not be an ideal name. See the bottom of my discussion with Peff here: http://public-inbox.org/git/74C2CEA6-EAAB-406F-8B37-969654955413%40gmail.com/ > The process terminates itself as soon as it detects EOF. > As there is nothing more read. > > Then the next question: The combination of kill & protocol in kill_protocol(), > what does it mean ? I renamed that function to "kill_multi_file_filter". Initially I called the multi file filter "protocol" (bad decision I know) and named the functions accordingly. > Is it more like a graceful shutdown_protocol() ? Yes. Thanks, Lars-- 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