gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r14944 - gnunet/src/vpn


From: gnunet
Subject: [GNUnet-SVN] r14944 - gnunet/src/vpn
Date: Sun, 10 Apr 2011 15:19:29 +0200

Author: toelke
Date: 2011-04-10 15:19:29 +0200 (Sun, 10 Apr 2011)
New Revision: 14944

Modified:
   gnunet/src/vpn/gnunet-daemon-vpn-helper.c
   gnunet/src/vpn/gnunet-helper-vpn-api.c
Log:
FIXMEs

Modified: gnunet/src/vpn/gnunet-daemon-vpn-helper.c
===================================================================
--- gnunet/src/vpn/gnunet-daemon-vpn-helper.c   2011-04-10 13:19:27 UTC (rev 
14943)
+++ gnunet/src/vpn/gnunet-daemon-vpn-helper.c   2011-04-10 13:19:29 UTC (rev 
14944)
@@ -40,6 +40,7 @@
 #include "gnunet-service-dns-p.h"
 #include "gnunet-vpn-packet.h"
 #include "gnunet-vpn-checksum.h"
+#include "gnunet-helper-vpn-api.h"
 
 struct GNUNET_VPN_HELPER_Handle *helper_handle;
 
@@ -185,7 +186,12 @@
     GNUNET_CONTAINER_DLL_remove (answer_proc_head, answer_proc_tail, ans);
     GNUNET_free(ans);
 
-    /* FIXME */ GNUNET_DISK_file_write(helper_handle->fh_to_helper, pkt, 
pkt_len);
+    if (GNUNET_DISK_file_write(helper_handle->fh_to_helper, pkt, pkt_len) < 0)
+      {
+        cleanup_helper(helper_handle);
+        GNUNET_SCHEDULER_add_now(start_helper_and_schedule, NULL);
+        return;
+      }
 
     /* if more packets are available, reschedule */
     if (answer_proc_head != NULL)

Modified: gnunet/src/vpn/gnunet-helper-vpn-api.c
===================================================================
--- gnunet/src/vpn/gnunet-helper-vpn-api.c      2011-04-10 13:19:27 UTC (rev 
14943)
+++ gnunet/src/vpn/gnunet-helper-vpn-api.c      2011-04-10 13:19:29 UTC (rev 
14944)
@@ -76,9 +76,20 @@
       return;
     }
 
-  /* FIXME */ GNUNET_SERVER_mst_receive (handle->mst, handle->client, buf, t,
-                                         0, 0);
+  if (GNUNET_SYSERR ==
+      GNUNET_SERVER_mst_receive (handle->mst, handle->client, buf, t, 0, 0))
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                  "SYSERR from mst\n");
+      stop_helper (handle);
 
+      /* Restart the helper */
+      GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
+                                    handle->restart_task, handle);
+      return;
+
+    }
+
   GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
                                   handle->fh_from_helper, &helper_read,
                                   handle);




reply via email to

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