Commit Graph

7350 Commits

Author SHA1 Message Date
Carsten Haitzler 46e8aa1b0d shared cache server++
is it ok?

1. it can be --disabled in evas's configure, but i think it works WITHOUT
disabling it (runtime) as it falls back to the old way of loading
2. it may cause build problems on some platforms - without it being enabled
we won't find out, so enable.
3. it needs enabling runtime to make use of it so it should be safe for now
until you enable it.

what is it?

it is a SHARED cache server - that means images loaded are loaded BY the
cache server (not by the actual process using evas). images are shared via
shared memory segments (shm_open + mmap). this means only 1 copy is in all
ram at any time - no matter how many processes need it , and its only loaded
once. also if another app has already loaded the same data - and its in the
cache or active hash, then another process needing the same stuff will avoid
the loads as it will just get instant replies from the cache of "image already
there". as it runs in its own process it can also time-out images from the
cache too.

right now you enable it by doing 2 things

1. run evas_cserve (it has cmd-line options to configure cache etc.
2. export EVAS_CSERVE=1 (im the environment of apps that should use the cache
server).

it works (for me) without crashes or problems. except for the following:

1. preloading doesnt work so its disabled if cserve is enabled. thisis
because the load threads interfere withthe unix comms socket causing
problems. this need to really change and have the cserve know about/do
preload and let the select() on the evas async events fd listen for the
unsolicited reply "load done". but it's not broken - simple preloads are
syncronous and forced if cserve is enabled (at build time).
2. if cserve is killed/crashes every app using it will have a bad day. baaad
day. so dont do it. also cserve may be vulnerable to apps crashing on it - it
may also exit with sigpipe. this needs fixing.
3. if the apps load using relative paths - this will break as it doesnt
account for the CWD of the client currently. will be fixed.
4. no way to change cache config runtime (yet)
5. no way to get internal cache state (yet).
6. if cache server exist - it wont clean up the shmem file nodes in /dev/shm
- it will clean on restart (remove the old junk). this needs fixing.

if you fine other issues - let me know.

things for the future:

1. now its a separate server.. the server could do async http etc. loads too
2. as a server it could monitor history of usage of files and images and
auto-pre-load files it knows historically are loaded then whose data is 
immediately accessed.
3. the same infra could be used to share font loads (freetype and/or 
fontconfig data).
4. ultimately being able to share rendered font glyphs will help a lot too.
5. it could, on its own, monitor "free memory" and when free memory runs
load, reduce cache size dynamically. (improving low memory situations).
6. it should get a gui to query cache state/contents and display visually.
this would be awesome to have a list of thumbnails that show whats in the
cache, how many referencesa they have, last active timestamps etc.

blah blah.

please let me know if the build is broken asap though as i will vanish
offline for a bit in about 24hrs...



SVN revision: 40478
2009-05-01 07:11:07 +00:00
Davide Andreoli de2cd99b4b * New style for Eina Doxy... now lets see what will happend with the online generation ;)
SVN revision: 40467
2009-04-29 21:44:33 +00:00
Vincent Torri 90993a4272 fix the borderless_set function by removing the frame around the window
SVN revision: 40462
2009-04-29 17:50:44 +00:00
Daniel Kolesa f53053c1ca Missing build-deps
SVN revision: 40446
2009-04-28 16:38:18 +00:00
Massimiliano Calamelli 31c77f7844 Added #define _POSIX_HOST_NAME_MAX for OSes that don't know it (NetBSD in detail)
SVN revision: 40444
2009-04-28 15:49:45 +00:00
Mike Frysinger d344f8a106 include Ecore.h for ecore_time* prototypes
SVN revision: 40432
2009-04-28 05:40:42 +00:00
Mike Frysinger 81b053c046 include Ecore.h for ecore_exe_run prototype
SVN revision: 40431
2009-04-28 05:39:22 +00:00
Mike Frysinger 5016400f63 fix printf format warnings (int vs size_t) and curl usage warning (curl_easy_getinfo tromps on a pointer to a long, not an int)
SVN revision: 40430
2009-04-28 05:26:22 +00:00
Mike Frysinger b980d9477e fix typo in long_has_neither_32_nor_64_bits prototype
SVN revision: 40429
2009-04-28 05:14:11 +00:00
Mike Frysinger 0041222bb0 pull in evas_common.h for evas_string_char_len_get() decl
SVN revision: 40428
2009-04-28 05:06:48 +00:00
Carsten Haitzler 95ea5ee0e1 fix corner case with edje - where u check for existens of parts in a edje but
never use a single object from it.



SVN revision: 40410
2009-04-27 02:41:33 +00:00
Gustavo Sverzut Barbieri f783e3900d add missing "changed" flags.
SVN revision: 40409
2009-04-27 02:41:27 +00:00
Gustavo Sverzut Barbieri e2d7c998da mark edje as dirty if box/table children changed.
This should help to fix bugs with systray.



SVN revision: 40408
2009-04-27 02:38:14 +00:00
Gustavo Sverzut Barbieri d2a587c21f recalculate table if it is dirty.
SVN revision: 40407
2009-04-27 02:36:56 +00:00
Jaime Thomas 22ec9fd53b Add a function to retrieve the timer interval.
SVN revision: 40404
2009-04-26 17:16:33 +00:00
Rafael Antognolli af073a4524 Now plugins are loaded using eina_module.
SVN revision: 40387
2009-04-25 21:48:49 +00:00
Daniel Kolesa ff0d4f71e2 Moved to fontconfig
SVN revision: 40364
2009-04-25 10:02:06 +00:00
Vincent Torri c01d945c99 missing use of ecore_x_drawable_rectangle_fill()
SVN revision: 40360
2009-04-25 07:53:28 +00:00
Vincent Torri 2fd6df87f8 use ecore_x_drawable_rectangle_fill().
SVN revision: 40359
2009-04-25 07:16:59 +00:00
Vincent Torri 90061cb121 add to the API the function ecore_x_drawable_rectangle_fill() that
fills a rectangle on the specified drawable. It will be used in ecore_evas
to factorize the code.


SVN revision: 40358
2009-04-25 07:16:26 +00:00
Viktor Kojouharov 85a494e86c fix the macro
SVN revision: 40356
2009-04-24 21:02:40 +00:00
Vincent Torri e9bacbe619 * formatting in ecore_evas_win32.c
* fix fullscreen_set() and borderless_set() functions in ecore_win32
 * change SetWindowLong() to SetWindowLongPtr() as it is deprecated
 * better error management when dealing with SetWindowLongPtr()
 * remove useless SendMessage() calls
 * other minor fixes


SVN revision: 40354
2009-04-24 19:37:09 +00:00
Viktor Kojouharov 619def6ea5 ethumb_file_get and some cleanup
SVN revision: 40352
2009-04-24 18:53:11 +00:00
Luis Felipe Strano Moraes 93d9e9a8b6 Fix typo causing build failure in ethumb when epdf was not present.
SVN revision: 40348
2009-04-24 16:21:49 +00:00
Rodrigo Cesar Lopes Belem 05a22bce95 Merge branch 'debian-fixes'
SVN revision: 40345
2009-04-24 05:29:12 +00:00
Iván Briano 554dccdb0b some formatting
SVN revision: 40343
2009-04-24 04:35:52 +00:00
Iván Briano 6c7831c3ab Build against newer Fribidi
SVN revision: 40341
2009-04-24 00:21:26 +00:00
Daniel Kolesa d45fd4bf09 1. fixed exalt-client module load, 2. fixed edje DEB_SOURCE_VERSION(thx to sur5r)
SVN revision: 40340
2009-04-23 19:22:39 +00:00
Vincent Torri 00098e2458 fix cast
SVN revision: 40337
2009-04-23 18:43:12 +00:00
Daniel Kolesa 8e797eed19 Fixed typo in edje debian/control, thx to sur5r
SVN revision: 40336
2009-04-23 18:28:16 +00:00
Daniel Kolesa 0752b78f25 Updated DEB_SOURCE_VERSIOn, thx to sur5r
SVN revision: 40335
2009-04-23 18:21:30 +00:00
Daniel Kolesa 7530de5ba1 Added libedje-bin to depends of libedje-dev.
SVN revision: 40331
2009-04-23 17:07:28 +00:00
Daniel Kolesa 1c112b792b Updated ecore debian stuff, thx to sur5r :)
SVN revision: 40330
2009-04-23 16:00:03 +00:00
Carsten Haitzler 75e9c7fa98 fix calc - do not reset calc_only flag! it wanst set by the calc_do!
SVN revision: 40326
2009-04-23 12:42:53 +00:00
Lars Munch 47840ee7a0 From: Lars Munch <lars@segv.dk>
thx, but you committed rev 1 of the patch. I send out an updated patch
since the function naming did not follow "e" style. Attached patch
renames the functions accordingly. Please apply.



SVN revision: 40322
2009-04-23 07:08:50 +00:00
Carsten Haitzler ae44cac932 revert patch - no-undefined already there.
SVN revision: 40319
2009-04-23 04:07:59 +00:00
Vincent Torri d24bc9ea4b better fix for -no-undefined
SVN revision: 40316
2009-04-23 03:56:31 +00:00
Vincent Torri 899b8d13dc * better fix for -no-undefined
* remove test with icl


SVN revision: 40313
2009-04-23 03:47:28 +00:00
Vincent Torri 38fe5f2884 add GDI evas engine support
SVN revision: 40311
2009-04-23 03:24:16 +00:00
Vincent Torri 7f98415206 add GDI engine.
todo: fullscreen and shape support


SVN revision: 40310
2009-04-23 03:20:51 +00:00
Carsten Haitzler 7f1bde6cf4 From: lars@segv.dk (Lars Munch)
Hi

This patch adds two new functions, ecore_pipe_close_read and
ecore_pipe_close_write, to ecore_pipe. The purpose it to enable
ecore_pipe to be used together with fork (see example below).

The patch also handles if the read or write end of the pipe closes.



SVN revision: 40305
2009-04-23 01:38:55 +00:00
booleanlabel b0d7b37388 From: booleanlabel@gmail.com
cygwin fixes.



SVN revision: 40303
2009-04-23 01:15:11 +00:00
booleanlabel 3068e9bd4f From: booleanlabel@gmail.com
cygwin fixes.



SVN revision: 40302
2009-04-23 01:09:26 +00:00
booleanlabel 51dc49dbee From: booleanlabel@gmail.com
cygwin fixes.



SVN revision: 40301
2009-04-23 01:09:01 +00:00
Carsten Haitzler 8e52d827ec move to uses no []'s as it works for me, but for belem... inconsistent []'s
doesnt work.



SVN revision: 40300
2009-04-23 00:32:53 +00:00
Massimiliano Calamelli 80d145c896 NetBSD requires <sys/resource.h>
SVN revision: 40299
2009-04-22 23:48:49 +00:00
Jaime Thomas 1d112a3ba1 Typo.
SVN revision: 40298
2009-04-22 22:09:40 +00:00
Daniel Kolesa f0e4360835 Updated debian stuff
SVN revision: 40296
2009-04-22 17:33:22 +00:00
Daniel Kolesa e0d9907767 Updated ecore debian stuff
SVN revision: 40295
2009-04-22 16:55:53 +00:00
Daniel Kolesa aa2d9d1cb1 A little change to edje debian stuff changelog
SVN revision: 40293
2009-04-22 16:38:11 +00:00