sched: Provide alternative post_select variant.
[paraslash.git] / write_common.c
index a4f908acc187d3a3e96b831fdbafa45ec0c7bd02..a1aac65e3ddab78e0516c515dd1a6e75c9793b79 100644 (file)
@@ -113,8 +113,14 @@ void register_writer_node(struct writer_node *wn, struct btr_node *parent,
                .handler = w->execute, .context = wn));
        strcpy(wn->task.status, name);
        free(name);
-       wn->task.post_select = w->post_select;
        wn->task.pre_select = w->pre_select;
+       if (w->new_post_select) {
+               wn->task.new_post_select = w->new_post_select;
+               wn->task.post_select = NULL;
+       } else {
+               wn->task.new_post_select = NULL;
+               wn->task.post_select = w->post_select;
+       }
        register_task(s, &wn->task);
 }