evas/cserve2: Reconnect to cserve2 in case of server crash
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 2 Oct 2013 11:23:14 +0000 (20:23 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Mon, 28 Oct 2013 06:47:16 +0000 (15:47 +0900)
commite74cac57e412bcd71f2cc58ba46d326aef0996c4
tree3ef14985f93e18bbb642aa537562e648ba01e77b
parent3889feca24ad3dba2aead16261a6b8dde0687b57
evas/cserve2: Reconnect to cserve2 in case of server crash

Try to reconnect to cserve2 if the socket connection was lost.
Resend some messages if necessary.

Images reload seems to be working.
Actually, the images don't change over time, so the clients just
keep the previous references to their images.

FONT RELOAD IS NOT WORKING:
- Crashes
- Invalid glyph data
- Infinite loop in _glyph_map_remap_check()

Root cause:
When new glyphs are requested from the server, they are added to
the mempool. So it is necessary to remap the font.
Unfortunately, in case of server reboot, we did not keep the mempool
so the old glyphs that were not requested again will not be valid.
src/bin/evas/evas_cserve2_cache.c
src/lib/evas/cache2/evas_cache2.c
src/lib/evas/common/evas_font_draw.c
src/lib/evas/common/evas_font_main.c
src/lib/evas/cserve2/evas_cs2.h
src/lib/evas/cserve2/evas_cs2_client.c
src/lib/evas/cserve2/evas_cs2_private.h