gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r33167 - in gnunet/src/sensor: . sensors


From: gnunet
Subject: [GNUnet-SVN] r33167 - in gnunet/src/sensor: . sensors
Date: Mon, 5 May 2014 17:46:28 +0200

Author: otarabai
Date: 2014-05-05 17:46:28 +0200 (Mon, 05 May 2014)
New Revision: 33167

Modified:
   gnunet/src/sensor/Makefile.am
   gnunet/src/sensor/gnunet-service-sensor.c
   gnunet/src/sensor/sensors/averagepingrtt
   gnunet/src/sensor/sensors/gnunetversion
Log:
executing sensor processes OK


Modified: gnunet/src/sensor/Makefile.am
===================================================================
--- gnunet/src/sensor/Makefile.am       2014-05-05 15:07:34 UTC (rev 33166)
+++ gnunet/src/sensor/Makefile.am       2014-05-05 15:46:28 UTC (rev 33167)
@@ -64,7 +64,5 @@
        $(mkinstalldirs) $(datadir)/$(PACKAGE)/$(pkgsensordir)
        @$(NORMAL_INSTALL)
        for sensor in $(pkgsensordir)/*; do \
-         if test -f $$sensor; then \
-           $(INSTALL_DATA) $$sensor $(datadir)/$(PACKAGE)/$(pkgsensordir)/ ; \
-         fi \
+         cp -a $$sensor $(datadir)/$(PACKAGE)/$(pkgsensordir)/ ; \
        done

Modified: gnunet/src/sensor/gnunet-service-sensor.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor.c   2014-05-05 15:07:34 UTC (rev 
33166)
+++ gnunet/src/sensor/gnunet-service-sensor.c   2014-05-05 15:46:28 UTC (rev 
33167)
@@ -777,6 +777,24 @@
 }
 
 /**
+ * Callback for output of executed sensor process
+ *
+ * @param cls 'struct SensorInfo *'
+ * @param line line of output from a command, NULL for the end
+ */
+void sensor_process_callback (void *cls, const char *line)
+{
+  struct SensorInfo *sensorinfo = cls;
+
+  if(NULL == line)
+  {
+    sensorinfo->running = GNUNET_NO;
+    return;
+  }
+  GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Received a value for sensor `%s': %s\n", 
sensorinfo->name, line);
+}
+
+/**
  * Actual execution of a sensor
  *
  * @param cls 'struct SensorInfo'
@@ -788,6 +806,8 @@
 {
   struct SensorInfo *sensorinfo = cls;
   int check_result;
+  char *sensors_dir;
+  char *process_path;
 
   sensorinfo->execution_task = 
GNUNET_SCHEDULER_add_delayed(sensorinfo->interval, &sensor_run, sensorinfo);
   if(GNUNET_YES == sensorinfo->running) //FIXME: should we try to kill?
@@ -815,13 +835,45 @@
   }
   else if(sources[1] == sensorinfo->source)
   {
+    /*GNUNET_OS_start_process_s(GNUNET_NO,
+        GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+        NULL,
+        "touch",
+        "touch /home/omar/hiii");*/
+    /*GNUNET_OS_start_process(GNUNET_NO,
+        GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+        NULL,
+        NULL,
+        NULL,
+        
"/home/omar/workspace/gnunet/src/sensor/sensors/averagepingrtt-files/avgping.sh",
+        "avgping.sh",
+        NULL);
+    GNUNET_OS_start_process(GNUNET_NO,
+        GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+        NULL,
+        NULL,
+        NULL,
+        "whoami",
+        "whoami",
+        NULL);*/
+    //FIXME: break execution if process is a path
     //check if the process exists in $PATH
+    process_path = GNUNET_strdup(sensorinfo->ext_process);
     check_result =
         GNUNET_OS_check_helper_binary(sensorinfo->ext_process, GNUNET_NO, 
NULL); //search in $PATH
     if(GNUNET_SYSERR == check_result)
     {
       //search in sensor directory
-
+      sensors_dir = get_sensor_dir();
+      GNUNET_free(process_path);
+      GNUNET_asprintf(&process_path, "%s%s-files%s%s",
+          sensors_dir,
+          sensorinfo->name,
+          DIR_SEPARATOR_STR,
+          sensorinfo->ext_process);
+      GNUNET_free(sensors_dir);
+      check_result =
+        GNUNET_OS_check_helper_binary(process_path, GNUNET_NO, NULL);
     }
     if(GNUNET_SYSERR == check_result)
     {
@@ -830,12 +882,25 @@
           sensorinfo->ext_process);
       //FIXME: disable sensor here?
       sensorinfo->running = GNUNET_NO;
+      GNUNET_free(process_path);
       return;
     }
-    else if(GNUNET_NO == check_result)
-    {
-
-    }
+    /*GNUNET_OS_start_process(GNUNET_NO,
+        GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+        NULL,
+        NULL,
+        NULL,
+        process_path,
+        sensorinfo->ext_process,
+        sensorinfo->ext_args,
+        NULL)*/
+    GNUNET_OS_command_run(&sensor_process_callback,
+        sensorinfo,
+        GNUNET_TIME_UNIT_FOREVER_REL,
+        process_path,
+        sensorinfo->ext_process,
+        sensorinfo->ext_args,
+        NULL);
     GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Process started for sensor `%s'\n", 
sensorinfo->name);
   }
   else

Modified: gnunet/src/sensor/sensors/averagepingrtt
===================================================================
--- gnunet/src/sensor/sensors/averagepingrtt    2014-05-05 15:07:34 UTC (rev 
33166)
+++ gnunet/src/sensor/sensors/averagepingrtt    2014-05-05 15:46:28 UTC (rev 
33167)
@@ -3,13 +3,13 @@
 VERSION = 1.0
 DESCRIPTION = Calculate average ping latency to gnunet.org
 CATEGORY = Internet-Connectivity
-ENABLED = NO
+ENABLED = YES
 
 # Start and end time format: %Y-%m-%d %H:%M:%S
 #START_TIME = 
 #END_TIME = 
 #Interval in seconds
-INTERVAL = 3600
+INTERVAL = 30
 #LIFETIME = 
 
 #CAPABILITIES = 

Modified: gnunet/src/sensor/sensors/gnunetversion
===================================================================
--- gnunet/src/sensor/sensors/gnunetversion     2014-05-05 15:07:34 UTC (rev 
33166)
+++ gnunet/src/sensor/sensors/gnunetversion     2014-05-05 15:46:28 UTC (rev 
33167)
@@ -9,8 +9,8 @@
 #START_TIME = 
 #END_TIME = 
 #Interval in seconds
-INTERVAL = 86400
-LIFETIME = 86400
+INTERVAL = 30
+LIFETIME = 30
 
 #CAPABILITIES = 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]