SDB: FDEVENT: Fixed web debug in Unix (Linux and Mac) 46/11646/2
authorho.namkoong <ho.namkoong@samsung.com>
Thu, 31 Oct 2013 13:39:51 +0000 (22:39 +0900)
committerYoonki Park <yoonki.park@samsung.com>
Fri, 1 Nov 2013 06:01:39 +0000 (23:01 -0700)
hang issue has been produced when debug a web app

Change-Id: Iea928e842dea9633f1f632e4f3da48df8b70dbb2
Signed-off-by: ho.namkoong <ho.namkoong@samsung.com>
src/fdevent_unix.c
src/transport.c

index 01f5baa134bdc91a5460cdb8ffcdb6b8d7289351..9f44c70d6e219879e1a9670e770084170199f094 100755 (executable)
@@ -95,7 +95,11 @@ static void _fdevent_update(FD_EVENT *fde, unsigned events)
 
 static void _fdevent_loop()
 {
+
+    LIST_NODE* event_list = NULL;
+
     while(1) {
+
         fd_set rfd, wfd;
 
         memcpy(&rfd, &fds_read, sizeof(fd_set));
@@ -135,12 +139,20 @@ static void _fdevent_loop()
                     i++;
                     continue;
                 }
+
+                fde->node = prepend(&event_list, fde);
                 events |= fde->events;
-                fde->func(fde->fd, events, fde->arg);
-                LOG_INFO("FD(%d) finished\n");
             }
             i++;
         }
+
+        while(event_list != NULL) {
+            FD_EVENT* fde = event_list->data;
+            remove_first(&event_list, no_free);
+            LOG_INFO("FD(%d) start!\n", fde->fd);
+            fde->func(fde->fd, fde->events, fde->arg);
+            LOG_INFO("FD(%d) end!\n", fde->fd);
+        }
     }
 }
 
index 0bfe1041ce2bf7a0ee49188bb7a0bcc4a032e564..309291a0b51039a4990b17e84cbad6e54aa20f6a 100755 (executable)
@@ -104,7 +104,7 @@ static void  dump_hex( const unsigned char*  ptr, size_t  len)
         }
         asci[len] = '\0';
 
-        DR(hex, asci);
+        DR("HEX:'%s', ASCI:'%s'\n", hex, asci);
 //        LOG_HEX(hex, asci);
     }
 }