]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - recv.c
sched: Provide alternative post_select variant.
[paraslash.git] / recv.c
diff --git a/recv.c b/recv.c
index c021b17bdbefdbcc7e562f496b6ae14917d3d681..4458021c636b7163b97f92afe781206db96fed46 100644 (file)
--- a/recv.c
+++ b/recv.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2012 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
 #include "list.h"
 #include "sched.h"
 #include "ggo.h"
+#include "buffer_tree.h"
 #include "recv.h"
 #include "recv.cmdline.h"
 #include "fd.h"
 #include "string.h"
 #include "error.h"
 #include "stdout.h"
-#include "buffer_tree.h"
 #include "version.h"
 
+extern void afh_recv_init(struct receiver *r);
+#undef AFH_RECEIVER
+#define AFH_RECEIVER {.name = "afh", .init = afh_recv_init},
+DEFINE_RECEIVER_ARRAY;
+
 /** The gengetopt args info struct. */
 static struct recv_args_info conf;
 
@@ -104,7 +109,13 @@ int main(int argc, char *argv[])
        register_task(&s, &sot.task);
 
        rn.task.pre_select = r->pre_select;
-       rn.task.post_select = r->post_select;
+       if (r->new_post_select) {
+               rn.task.new_post_select = r->new_post_select;
+               rn.task.post_select = NULL;
+       } else {
+               rn.task.new_post_select = NULL;
+               rn.task.post_select = r->post_select;;
+       }
        sprintf(rn.task.status, "%s", r->name);
        register_task(&s, &rn.task);