aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c')
-rw-r--r--libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c b/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c
index 858daa5..2b7e5c5 100644
--- a/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c
+++ b/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c
@@ -75,9 +75,7 @@ _ecore_con_local_win32_server_read_client_handler(void *data, Ecore_Win32_Handle
75 free(msg); 75 free(msg);
76 } 76 }
77#endif 77#endif
78 if (!cl->delete_me) 78 _ecore_con_client_kill(cl);
79 ecore_con_event_client_del(cl);
80 cl->dead = EINA_TRUE;
81 return ECORE_CALLBACK_CANCEL; 79 return ECORE_CALLBACK_CANCEL;
82 } 80 }
83 81
@@ -110,9 +108,7 @@ _ecore_con_local_win32_server_peek_client_handler(void *data, Ecore_Win32_Handle
110 free(msg); 108 free(msg);
111 } 109 }
112#endif 110#endif
113 if (!cl->host_server->delete_me) 111 _ecore_con_server_kill(cl->host_server);
114 ecore_con_event_server_del(cl->host_server);
115 cl->host_server->dead = EINA_TRUE;
116 return ECORE_CALLBACK_CANCEL; 112 return ECORE_CALLBACK_CANCEL;
117 113
118 ecore_main_win32_handler_del(wh); 114 ecore_main_win32_handler_del(wh);
@@ -140,9 +136,7 @@ _ecore_con_local_win32_client_peek_server_handler(void *data, Ecore_Win32_Handle
140 free(msg); 136 free(msg);
141 } 137 }
142#endif 138#endif
143 if (!svr->delete_me) 139 _ecore_con_server_kill(svr);
144 ecore_con_event_server_del(svr);
145 svr->dead = EINA_TRUE;
146 return ECORE_CALLBACK_CANCEL; 140 return ECORE_CALLBACK_CANCEL;
147 141
148 ecore_main_win32_handler_del(wh); 142 ecore_main_win32_handler_del(wh);
@@ -191,9 +185,7 @@ _ecore_con_local_win32_client_read_server_handler(void *data, Ecore_Win32_Handle
191 free(msg); 185 free(msg);
192 } 186 }
193#endif 187#endif
194 if (!svr->delete_me) 188 _ecore_con_server_kill(svr);
195 ecore_con_event_server_del(svr);
196 svr->dead = EINA_TRUE;
197 return ECORE_CALLBACK_CANCEL; 189 return ECORE_CALLBACK_CANCEL;
198 } 190 }
199 191
@@ -296,9 +288,6 @@ _ecore_con_local_win32_client_add(void *data, Ecore_Win32_Handler *wh)
296 if (!svr->pipe) 288 if (!svr->pipe)
297 return ECORE_CALLBACK_CANCEL; 289 return ECORE_CALLBACK_CANCEL;
298 290
299 if (svr->dead)
300 return ECORE_CALLBACK_CANCEL;
301
302 if (svr->delete_me) 291 if (svr->delete_me)
303 return ECORE_CALLBACK_CANCEL; 292 return ECORE_CALLBACK_CANCEL;
304 293
@@ -698,16 +687,14 @@ ecore_con_local_win32_server_flush(Ecore_Con_Server *svr)
698 ecore_con_event_server_error(svr, msg); 687 ecore_con_event_server_error(svr, msg);
699 free(msg); 688 free(msg);
700 } 689 }
701 if (!svr->delete_me) 690 _ecore_con_server_kill(svr);
702 ecore_con_event_server_del(svr);
703 svr->dead = EINA_TRUE;
704 } 691 }
705 692
706 svr->write_buf_offset += written; 693 svr->write_buf_offset += written;
707 if (svr->write_buf_offset >= eina_binbuf_length_get(svr->buf)) 694 if (svr->write_buf_offset >= eina_binbuf_length_get(svr->buf))
708 { 695 {
709 svr->write_buf_offset = 0; 696 svr->write_buf_offset = 0;
710 eina_binbuf_free(svr->buf); 697 eina_binbuf_free(svr->buf);
711 svr->buf = NULL; 698 svr->buf = NULL;
712 svr->want_write = 0; 699 svr->want_write = 0;
713 } 700 }
@@ -749,9 +736,7 @@ ecore_con_local_win32_client_flush(Ecore_Con_Client *cl)
749 ecore_con_event_client_error(cl, msg); 736 ecore_con_event_client_error(cl, msg);
750 free(msg); 737 free(msg);
751 } 738 }
752 if (!cl->delete_me) 739 _ecore_con_client_kill(cl);
753 ecore_con_event_client_del(cl);
754 cl->dead = EINA_TRUE;
755 } 740 }
756 741
757 cl->buf_offset += written; 742 cl->buf_offset += written;