psyc/social: transmit fix
authorGabor X Toth <*@tg-x.net>
Thu, 12 May 2016 00:21:25 +0000 (00:21 +0000)
committerGabor X Toth <*@tg-x.net>
Thu, 12 May 2016 00:21:25 +0000 (00:21 +0000)
src/psyc/gnunet-service-psyc.c
src/social/gnunet-service-social.c
src/social/gnunet-social.c

index bd81dabb1fa3b37a6911ce7626f1ddb80536b32e..dc5697a07c1a205889619be28f4b78a4371c1bf7 100644 (file)
@@ -2068,10 +2068,13 @@ master_transmit_message (struct Master *mst)
     return;
   if (NULL == mst->tmit_handle)
   {
-    mst->tmit_handle
-      = GNUNET_MULTICAST_origin_to_all (mst->origin, tmit_msg->id,
-                                        mst->max_group_generation,
-                                        master_transmit_notify, mst);
+    mst->tmit_handle = (void *) &mst->tmit_handle;
+    struct GNUNET_MULTICAST_OriginTransmitHandle *
+      tmit_handle = GNUNET_MULTICAST_origin_to_all (mst->origin, tmit_msg->id,
+                                                    mst->max_group_generation,
+                                                    master_transmit_notify, mst);
+    if (NULL != mst->tmit_handle)
+      mst->tmit_handle = tmit_handle;
   }
   else
   {
@@ -2090,9 +2093,12 @@ slave_transmit_message (struct Slave *slv)
     return;
   if (NULL == slv->tmit_handle)
   {
-    slv->tmit_handle
-      = GNUNET_MULTICAST_member_to_origin (slv->member, slv->chn.tmit_head->id,
-                                           slave_transmit_notify, slv);
+    slv->tmit_handle = (void *) &slv->tmit_handle;
+    struct GNUNET_MULTICAST_MemberTransmitHandle *
+      tmit_handle = GNUNET_MULTICAST_member_to_origin (slv->member, slv->chn.tmit_head->id,
+                                                       slave_transmit_notify, slv);
+    if (NULL != slv->tmit_handle)
+      slv->tmit_handle = tmit_handle;
   }
   else
   {
index 8dd51e61032eb5305a68a9269cd348e0fb9db197..c379ff76bd6cde02c2bce64d71ff2051beba2d5a 100644 (file)
@@ -2666,11 +2666,14 @@ psyc_master_transmit_message (struct Host *hst)
     if (NULL == pmeth)
       return GNUNET_SYSERR;
 
-    hst->tmit_handle
-      = GNUNET_PSYC_master_transmit (hst->master, (const char *) &pmeth[1],
-                                     &host_transmit_notify_mod,
-                                     &host_transmit_notify_data, hst,
-                                     pmeth->flags);
+    hst->tmit_handle = (void *) &hst->tmit_handle;
+    struct GNUNET_PSYC_MasterTransmitHandle *
+      tmit_handle = GNUNET_PSYC_master_transmit (hst->master, (const char *) &pmeth[1],
+                                                 &host_transmit_notify_mod,
+                                                 &host_transmit_notify_data, hst,
+                                                 pmeth->flags);
+    if (NULL != hst->tmit_handle)
+      hst->tmit_handle = tmit_handle;
     GNUNET_free (pmeth);
   }
   else
@@ -2696,11 +2699,14 @@ psyc_slave_transmit_message (struct Guest *gst)
     if (NULL == pmeth)
       return GNUNET_SYSERR;
 
-    gst->tmit_handle
-      = GNUNET_PSYC_slave_transmit (gst->slave, (const char *) &pmeth[1],
-                                    &guest_transmit_notify_mod,
-                                    &guest_transmit_notify_data, gst,
-                                    pmeth->flags);
+    gst->tmit_handle = (void *) &gst->tmit_handle;
+    struct GNUNET_PSYC_SlaveTransmitHandle *
+      tmit_handle = GNUNET_PSYC_slave_transmit (gst->slave, (const char *) &pmeth[1],
+                                                 &guest_transmit_notify_mod,
+                                                 &guest_transmit_notify_data, gst,
+                                                 pmeth->flags);
+    if (NULL != gst->tmit_handle)
+      gst->tmit_handle = tmit_handle;
     GNUNET_free (pmeth);
   }
   else
index fcf75d595ced56e262b896f4bf3021daa5157651..9e69208b5144cfe4ae4056c32fa0d83cb7e7fced 100644 (file)
@@ -227,7 +227,7 @@ exit_success ()
     GNUNET_SCHEDULER_cancel (timeout_task);
     timeout_task = NULL;
   }
-  GNUNET_SCHEDULER_add_now (schedule_success, NULL);
+  GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, schedule_success, NULL);
 }
 
 
@@ -239,7 +239,7 @@ exit_fail ()
     GNUNET_SCHEDULER_cancel (timeout_task);
     timeout_task = NULL;
   }
-  GNUNET_SCHEDULER_add_now (schedule_fail, NULL);
+  GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, schedule_fail, NULL);
 }