sched: Provide alternative post_select variant.
[paraslash.git] / filter.c
index 40e3779eab4d22620125294e5024a443b18e6296..07b78aed59e5d2a04c400003d2136cd2e956a1c4 100644 (file)
--- a/filter.c
+++ b/filter.c
@@ -140,7 +140,13 @@ int main(int argc, char *argv[])
                        EMBRACE(.name = f->name, .parent = parent,
                        .handler = f->execute, .context = fn));
                fn->task.pre_select = f->pre_select;
                        EMBRACE(.name = f->name, .parent = parent,
                        .handler = f->execute, .context = fn));
                fn->task.pre_select = f->pre_select;
-               fn->task.post_select = f->post_select;
+               if (f->new_post_select) {
+                       fn->task.new_post_select = f->new_post_select;
+                       fn->task.post_select = NULL;
+               } else {
+                       fn->task.new_post_select = NULL;
+                       fn->task.post_select = f->post_select;
+               }
                f->open(fn);
                register_task(&s, &fn->task);
                parent = fn->btrn;
                f->open(fn);
                register_task(&s, &fn->task);
                parent = fn->btrn;