fix Windows fdevent bug 45/11345/1
authorho.namkoong <ho.namkoong@samsung.com>
Thu, 24 Oct 2013 18:04:13 +0000 (03:04 +0900)
committerho.namkoong <ho.namkoong@samsung.com>
Thu, 24 Oct 2013 18:04:13 +0000 (03:04 +0900)
Change-Id: I7ebf925f7b5bdb510c03222118cedac95e07e4f0

src/fdevent_windows.c

index 60ee7204df79f6b5989d41f5682c075f11d99746..202a79b3e37caeda150ff39993db09222982d0c3 100755 (executable)
@@ -118,11 +118,17 @@ static void _fdevent_disconnect(FD_EVENT *fde)
 
 static void _fdevent_update(FD_EVENT *fde, unsigned events)
 {
+    unsigned _event = events & FDE_MASK;
+
     if(fde->events == events) {
         return;
     }
-
        fde->events = events;
+
+       if(_event == 0) {
+           free_event((SDB_SOCK_HANDLE*)sdb_handle_map_get(fde->fd));
+           return;
+       }
        SDB_SOCK_HANDLE* h = (SDB_SOCK_HANDLE*)sdb_handle_map_get(fde->fd);
        if(h == NULL) {
                LOG_ERROR("invalid FD(%d)\n", fde->fd);