diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2013-10-02 20:23:14 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2013-10-28 15:47:16 +0900 |
commit | e74cac57e412bcd71f2cc58ba46d326aef0996c4 (patch) | |
tree | 3ef14985f93e18bbb642aa537562e648ba01e77b /src/lib/evas/cache2 | |
parent | 3889feca24ad3dba2aead16261a6b8dde0687b57 (diff) |
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.
Diffstat (limited to 'src/lib/evas/cache2')
-rw-r--r-- | src/lib/evas/cache2/evas_cache2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/evas/cache2/evas_cache2.c b/src/lib/evas/cache2/evas_cache2.c index a9ed8caf0c..e1a9d01120 100644 --- a/src/lib/evas/cache2/evas_cache2.c +++ b/src/lib/evas/cache2/evas_cache2.c | |||
@@ -997,10 +997,10 @@ evas_cache2_image_load_data(Image_Entry *ie) | |||
997 | error = evas_cserve2_image_load_data_wait(ie); | 997 | error = evas_cserve2_image_load_data_wait(ie); |
998 | 998 | ||
999 | RGBA_Image *im = (RGBA_Image *)ie; | 999 | RGBA_Image *im = (RGBA_Image *)ie; |
1000 | DBG("try cserve2 image data '%s' '%s' loaded!", | ||
1001 | ie->file, ie->key ? ie->key : ""); | ||
1002 | if ((error == CSERVE2_NONE) && im->image.data) | 1000 | if ((error == CSERVE2_NONE) && im->image.data) |
1003 | { | 1001 | { |
1002 | DBG("try cserve2 image data '%s' '%s' loaded!", | ||
1003 | ie->file, ie->key ? ie->key : ""); | ||
1004 | error = EVAS_LOAD_ERROR_NONE; | 1004 | error = EVAS_LOAD_ERROR_NONE; |
1005 | } | 1005 | } |
1006 | else | 1006 | else |