aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sensor/gnunet-service-sensor-update.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/sensor/gnunet-service-sensor-update.c b/src/sensor/gnunet-service-sensor-update.c
index 354cd52c7..2064141de 100644
--- a/src/sensor/gnunet-service-sensor-update.c
+++ b/src/sensor/gnunet-service-sensor-update.c
@@ -488,6 +488,7 @@ load_update_points ()
488 "Loaded update point `%s'.\n", 488 "Loaded update point `%s'.\n",
489 GNUNET_i2s_full (&up->peer_id)); 489 GNUNET_i2s_full (&up->peer_id));
490 } 490 }
491 GNUNET_free (points_list);
491 return (NULL == up_head) ? GNUNET_SYSERR : GNUNET_OK; 492 return (NULL == up_head) ? GNUNET_SYSERR : GNUNET_OK;
492} 493}
493 494
@@ -646,12 +647,27 @@ update_sensor (char *sensorname,
646 GNUNET_DISK_PERM_GROUP_WRITE | 647 GNUNET_DISK_PERM_GROUP_WRITE |
647 GNUNET_DISK_PERM_USER_EXEC | 648 GNUNET_DISK_PERM_USER_EXEC |
648 GNUNET_DISK_PERM_GROUP_EXEC); 649 GNUNET_DISK_PERM_GROUP_EXEC);
650 GNUNET_free (script_path);
649 } 651 }
652 GNUNET_free (sensors_dir);
653 GNUNET_free (sensor_path);
650 return GNUNET_OK; 654 return GNUNET_OK;
651} 655}
652 656
653 657
654/** 658/**
659 * Resets the service after we are done with an update.
660 *
661 * @param cls unused
662 * @param tc unused
663 */
664void reset (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
665{
666 reset_cb ();
667}
668
669
670/**
655 * Handler of a sensor list message received from an update point. 671 * Handler of a sensor list message received from an update point.
656 * 672 *
657 * @param cls Closure (unused). 673 * @param cls Closure (unused).
@@ -713,7 +729,7 @@ handle_sensor_full (void *cls,
713 { 729 {
714 updating = GNUNET_NO; 730 updating = GNUNET_NO;
715 cleanup_updatepoint (up_default); 731 cleanup_updatepoint (up_default);
716 reset_cb (); 732 GNUNET_SCHEDULER_add_continuation (&reset, NULL, 0);
717 } 733 }
718 else 734 else
719 GNUNET_CADET_receive_done (channel); 735 GNUNET_CADET_receive_done (channel);