From: Torsten Bögershausen Date: Tue, 02 Aug 2016 19:56:38 GMT Subject: Re: [PATCH v3 03/10] pkt-line: add packet_flush_gentle() Message-ID: <20160802195546.GA2660@atze2.lan> In-Reply-To: <8FC2D283-AF8D-4643-834E-3D1927C558C0@gmail.com> On Sun, Jul 31, 2016 at 11:45:08PM +0200, Lars Schneider wrote: > > > On 31 Jul 2016, at 22:36, Torstem Bögershausen wrote: > > > > > > > >> Am 29.07.2016 um 20:37 schrieb larsxschneider@gmail.com: > >> > >> From: Lars Schneider > >> > >> 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 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 ? Is it more like a graceful shutdown_protocol() ?