+ struct writer *w = writers + wn->writer_num;
+ char *name = make_message("%s writer", writer_names[wn->writer_num]);
+
+ wn->btrn = btr_new_node(&(struct btr_node_description)
+ EMBRACE(.name = name, .parent = parent,
+ .handler = w->execute, .context = wn));
+ strcpy(wn->task.status, name);
+ free(name);
+ 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);