Add wrapper function for ST peerd loop.
authorFilippos Giannakos <philipgian@grnet.gr>
Wed, 17 Apr 2013 13:36:31 +0000 (16:36 +0300)
committerFilippos Giannakos <philipgian@grnet.gr>
Fri, 17 May 2013 08:57:56 +0000 (11:57 +0300)
(cherry picked from commit d932df7a6a3ae8b17d9e0981fcb3ee2af059324c)

Conflicts:
xseg/peers/user/peer.c

xseg/peers/user/peer.c

index b20e1b0..f27f4ee 100644 (file)
@@ -608,6 +608,15 @@ static int init_peerd_loop(struct peerd *peer)
        return 0;
 }
 
+#ifdef ST_THREADS
+static void * st_peerd_loop(void *peer)
+{
+       struct peerd *peerd = peer;
+       peerd->peerd_loop(peerd);
+       return 0;
+}
+#endif
+
 static struct xseg *join(char *spec)
 {
        struct xseg_config config;
@@ -899,7 +908,7 @@ int main(int argc, char *argv[])
        //TODO err check
        peerd_start_threads(peer);
 #elif defined(ST_THREADS)
-       st_thread_t st = st_thread_create(init_peerd_loop, peer, 1, 0);
+       st_thread_t st = st_thread_create(st_peerd_loop, peer, 1, 0);
        r = st_thread_join(st, NULL);
 #else
        r = init_peerd_loop(peer);