summaryrefslogtreecommitdiffstats
path: root/nest/proto.c
diff options
context:
space:
mode:
Diffstat (limited to 'nest/proto.c')
-rw-r--r--nest/proto.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/nest/proto.c b/nest/proto.c
index 2e1eb8f..0ad7229 100644
--- a/nest/proto.c
+++ b/nest/proto.c
@@ -605,6 +605,9 @@ proto_notify_state(struct proto *p, unsigned ps)
switch (ps)
{
case PS_DOWN:
+ if ((cs = FS_FEEDING) || (cs == FS_HAPPY))
+ proto_schedule_flush(p);
+
neigh_prune(); // FIXME convert neighbors to resource?
rfree(p->pool);
p->pool = NULL;
@@ -614,9 +617,6 @@ proto_notify_state(struct proto *p, unsigned ps)
proto_fell_down(p);
return; /* The protocol might have ceased to exist */
}
- /* Otherwise, we have something to flush... */
- else if (cs != FS_FLUSHING)
- proto_schedule_flush(p);
break;
case PS_START:
ASSERT(ops == PS_DOWN);