summaryrefslogtreecommitdiff
path: root/legacy
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2010-11-11 20:20:44 +0000
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>2010-11-11 20:20:44 +0000
commit3552a91b7d7d22934e4cf9ccd3fbfd203ab6582b (patch)
tree3f2e019f496df50eaeb70380ac211e1d3461117f /legacy
parentc24c33cb540969a45825496bb3f1684cb2cfa6fa (diff)
only free clients that aren't waiting on events to free them to prevent a segv
SVN revision: 54478
Diffstat (limited to 'legacy')
-rw-r--r--legacy/ecore/src/lib/ecore_con/ecore_con.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c
index 265cb64b1c..771b4be985 100644
--- a/legacy/ecore/src/lib/ecore_con/ecore_con.c
+++ b/legacy/ecore/src/lib/ecore_con/ecore_con.c
@@ -1153,6 +1153,9 @@ _ecore_con_server_free(Ecore_Con_Server *svr)
1153 _ecore_con_event_server_del_free, NULL); 1153 _ecore_con_event_server_del_free, NULL);
1154 return; 1154 return;
1155 } 1155 }
1156
1157 if (svr->event_count > 0)
1158 return;
1156 ECORE_MAGIC_SET(svr, ECORE_MAGIC_NONE); 1159 ECORE_MAGIC_SET(svr, ECORE_MAGIC_NONE);
1157 t_start = ecore_time_get(); 1160 t_start = ecore_time_get();
1158 while ((svr->write_buf) && (!svr->dead)) 1161 while ((svr->write_buf) && (!svr->dead))
@@ -1223,6 +1226,8 @@ _ecore_con_client_free(Ecore_Con_Client *cl)
1223 return; 1226 return;
1224 } 1227 }
1225 1228
1229 if (cl->event_count > 0)
1230 return;
1226 ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE); 1231 ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE);
1227 t_start = ecore_time_get(); 1232 t_start = ecore_time_get();
1228 while ((cl->buf) && (!cl->dead)) 1233 while ((cl->buf) && (!cl->dead))