proper cleanup of ecoren_con_server after ecore_events.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 2 May 2009 20:12:41 +0000 (20:12 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 2 May 2009 20:12:41 +0000 (20:12 +0000)
commite71f4ed83cfb877c61f1d04964688fc59bbbaa6a
tree0c20c8580782a5ded975574abab1f5b3ccbdc365
parent8a8fc87fa755447b3d41fb950aece49ac9e772fe
proper cleanup of ecoren_con_server after ecore_events.

ecore_events are asynchronous and can be dispatched after the server
is deleted (ecore_con_server_del()). In this case, server will flag
"delete_me" and avoid doing double-free. When the event is dispatched
and the server is deleted, we still need to free resources and so we
need to call _ecore_con_server_free(). But we cannot do that by means
of ecore_con_server_del() since it will check "delete_me" flag and
will return.

This patch calls _ecore_con_server_free() directly when events are
dispatched and server is deleted. It fixes problems with
forecasts/weather modules exhausting file descriptors, a long standing
issue that bring problems with pam/desklock authentication.

Thanks to manio to point out #305 and testing.

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@40490 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
src/lib/ecore_con/ecore_con.c