[Title] Modified to build in Windows
authordon.hong <don.hong@samsung.com>
Tue, 13 Mar 2012 12:07:28 +0000 (21:07 +0900)
committerdon.hong <don.hong@samsung.com>
Tue, 13 Mar 2012 12:07:28 +0000 (21:07 +0900)
[Type] BugFix
[Module]
[Priority]
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

tizen/src/mloop_event.c

index 7720fa5..cb4a60a 100644 (file)
@@ -28,6 +28,7 @@
 \r
 #ifdef _WIN32\r
 #include <winsock.h>\r
+#define        socklen_t     int\r
 #else\r
 #include <netinet/in.h>\r
 #include <sys/ioctl.h>\r
@@ -206,7 +207,19 @@ static void mloop_evhandle_usb_del(char *name)
 static void mloop_evcb_recv(struct mloop_evsock *ev)\r
 {\r
     struct mloop_evpack pack;\r
-    int ret = read(ev->sockno, (void *)&pack, sizeof(pack));\r
+    int ret;\r
+\r
+    do {\r
+       ret = recv(ev->sockno, (void *)&pack, sizeof(pack), 0);\r
+#ifdef _WIN32\r
+    } while (ret == -1 && WSAGetLastError() == WSAEINTR);\r
+#else\r
+    } while (ret == -1 && errno == EINTR);\r
+#endif // _WIN32\r
+\r
+    if (ret == -1 ) {\r
+        return;\r
+    }\r
 \r
     if (ret == 0 ) {\r
         return;\r