gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r14027 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r14027 - gnunet/src/transport
Date: Wed, 22 Dec 2010 16:24:15 +0100

Author: brodski
Date: 2010-12-22 16:24:15 +0100 (Wed, 22 Dec 2010)
New Revision: 14027

Modified:
   gnunet/src/transport/gnunet-transport-wlan-helper.c
   gnunet/src/transport/test_plugin_transport_wlan_dummy.c
Log:
Errors fixed



Modified: gnunet/src/transport/gnunet-transport-wlan-helper.c
===================================================================
--- gnunet/src/transport/gnunet-transport-wlan-helper.c 2010-12-22 14:29:46 UTC 
(rev 14026)
+++ gnunet/src/transport/gnunet-transport-wlan-helper.c 2010-12-22 15:24:15 UTC 
(rev 14027)
@@ -392,10 +392,11 @@
        return -ENOENT;
 }
 
-#define FIFO_FILE1       "MYFIFOin"
-#define FIFO_FILE2       "MYFIFOout"
+#define FIFO_FILE1       "/tmp/MYFIFOin"
+#define FIFO_FILE2       "/tmp/MYFIFOout"
 #define MAXLINE         5000
 
+int first;
 int closeprog = 0;
 
 void sigfunc(int sig)
@@ -404,9 +405,14 @@
  if(sig != SIGINT || sig != SIGTERM || sig != SIGKILL)
    return;
  else
-  {
-   closeprog = 1;
-   }
+    {
+      closeprog = 1;
+      if (first == 1)
+        {
+          unlink(FIFO_FILE1);
+          unlink(FIFO_FILE2);
+        }
+    }
 }
 
 
@@ -416,19 +422,18 @@
 {
   struct stat st;
   int erg;
-  int first;
+
+  int fd[2];
   FILE *fpin;
   FILE *fpout;
   pid_t pid;
 
-  signal(SIGINT,sigfunc);
-  signal(SIGTERM,sigfunc);
-  signal(SIGKILL,sigfunc);
 
+
   //make the fifos if needed
   if (stat(FIFO_FILE1, &st) != 0)
     {
-      if (stat(FIFO_FILE2, &st) != 0)
+      if (stat(FIFO_FILE2, &st) == 0)
         {
           perror("FIFO 2 exists, but FIFO 1 not");
           exit(1);
@@ -452,7 +457,7 @@
   else
     {
       first = 0;
-      if (stat(FIFO_FILE2, &st) == 0)
+      if (stat(FIFO_FILE2, &st) != 0)
         {
           perror("FIFO 1 exists, but FIFO 2 not");
           exit(1);
@@ -472,6 +477,9 @@
 
   // fork
 
+  fd[0] = STDIN_FILENO;
+  fd[1] = STDOUT_FILENO;
+
   if ((pid = fork()) < 0)
     {
       perror("FORK ERROR");
@@ -488,6 +496,10 @@
     }
   else if (pid == 0) // CHILD PROCESS
     {
+
+      signal(SIGINT, sigfunc);
+      signal(SIGTERM, sigfunc);
+      signal(SIGKILL, sigfunc);
       int rv = 0;
       int readc = 0;
       int pos = 0;
@@ -498,7 +510,7 @@
           readc = 0;
 
           while (readc < sizeof( struct RadiotapHeader) + sizeof(struct 
GNUNET_MessageHeader)){
-            if ((rv = read(STDIN_FILENO, line, MAXLINE)) < 0)
+            if ((rv = read(fd[0], line, MAXLINE)) < 0)
               {
                 perror("READ ERROR FROM STDIN");
               }
@@ -526,12 +538,14 @@
     }
   else // PARENT PROCESS
     {
+      signal(SIGINT, sigfunc);
+      signal(SIGTERM, sigfunc);
+      signal(SIGKILL, sigfunc);
       int rv = 0;
       ssize_t pos = 0;
       char line[MAXLINE];
       struct Wlan_Helper_Control_Message macmsg;
 
-
       //Send random mac address
       macmsg.mac.mac[0] = 0x13;
       macmsg.mac.mac[1] = 0x22;
@@ -544,7 +558,7 @@
       pos = 0;
       while (pos < sizeof(struct Wlan_Helper_Control_Message))
         {
-          pos += write(STDOUT_FILENO, &macmsg + pos, sizeof(struct 
Wlan_Helper_Control_Message) - pos);
+          pos += write(fd[1], &macmsg + pos, sizeof(struct 
Wlan_Helper_Control_Message) - pos);
         }
 
       while (closeprog == 0)
@@ -557,7 +571,7 @@
           pos = 0;
           while (pos < rv)
             {
-              pos += write(STDOUT_FILENO, &line[pos], rv - pos);
+              pos += write(fd[1], &line[pos], rv - pos);
             }
         }
 

Modified: gnunet/src/transport/test_plugin_transport_wlan_dummy.c
===================================================================
--- gnunet/src/transport/test_plugin_transport_wlan_dummy.c     2010-12-22 
14:29:46 UTC (rev 14026)
+++ gnunet/src/transport/test_plugin_transport_wlan_dummy.c     2010-12-22 
15:24:15 UTC (rev 14027)
@@ -50,6 +50,7 @@
  else
   {
    closeprog = 1;
+   exit(0);
    }
 }
 
@@ -58,26 +59,27 @@
 int
 main(int argc, char *argv[])
 {
-  struct stat st,st2;
+  struct stat st;
+  struct stat st2;
   int erg;
   int first;
   FILE *fpin;
   FILE *fpout;
   pid_t pid;
 
-  signal(SIGINT,sigfunc);
-  signal(SIGTERM,sigfunc);
-  signal(SIGKILL,sigfunc);
+  perror("Test");
 
+
   //make the fifos if needed
   if (stat(FIFO_FILE1, &st) != 0)
     {
-      if (stat(FIFO_FILE2, &st2) != 0)
+      if (stat(FIFO_FILE2, &st2) == 0)
         {
-          perror("FIFO 2 exists, but FIFO 1 not");
+          perror("FIFO 2 exists, but FIFO 1 not, blub");
           exit(1);
         }
       first = 1;
+      perror("First");
       umask(0);
       erg = mknod(FIFO_FILE1, S_IFIFO | 0666, 0);
       erg = mknod(FIFO_FILE2, S_IFIFO | 0666, 0);
@@ -96,9 +98,10 @@
   else
     {
       first = 0;
-      if (stat(FIFO_FILE2, &st2) == 0)
+      perror("Second");
+      if (stat(FIFO_FILE2, &st2) != 0)
         {
-          perror("FIFO 1 exists, but FIFO 2 not");
+          perror("FIFO 1 exists, but FIFO 2 not, mäh");
           exit(1);
         }
       if ((fpout = fopen(FIFO_FILE1, "w")) == NULL)
@@ -132,6 +135,10 @@
     }
   else if (pid == 0) // CHILD PROCESS
     {
+    perror("Child");
+      signal(SIGINT, sigfunc);
+      signal(SIGTERM, sigfunc);
+      signal(SIGKILL, sigfunc);
       int rv = 0;
       int readc = 0;
       int pos = 0;
@@ -151,9 +158,9 @@
 
           pos = 0;
 
-          fwrite(&line[pos], 1, sizeof(struct GNUNET_MessageHeader), fpout);
+          //fwrite(&line[pos], 1, sizeof(struct GNUNET_MessageHeader), fpout);
 
-          pos += sizeof(struct GNUNET_MessageHeader);
+          //pos += sizeof(struct GNUNET_MessageHeader);
 
           //do not send radiotap header
           pos += sizeof( struct RadiotapHeader);
@@ -170,6 +177,10 @@
     }
   else // PARENT PROCESS
     {
+    perror("Parent");
+      signal(SIGINT, sigfunc);
+      signal(SIGTERM, sigfunc);
+      signal(SIGKILL, sigfunc);
       int rv = 0;
       ssize_t pos = 0;
       char line[MAXLINE];
@@ -186,11 +197,12 @@
       macmsg.hdr.size = sizeof(struct Wlan_Helper_Control_Message);
 
       pos = 0;
+      /*
       while (pos < sizeof(struct Wlan_Helper_Control_Message))
         {
           pos += write(STDOUT_FILENO, &macmsg + pos, sizeof(struct 
Wlan_Helper_Control_Message) - pos);
         }
-
+      */
       while (closeprog == 0)
         {
           if ((rv = fread(line, 1, MAXLINE, fpin)) < 0)




reply via email to

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