Jean-Philippe Andre
c7515f3300
evas/cserve2: Add mempool_buffer_offset_get() api
2013-10-28 15:47:14 +09:00
Jean-Philippe Andre
7ebda2d123
evas/cserve2: Store glyphs in shared arrays
...
Also, change the internal structure of glyph listing:
- Use lists instead of inlists
Switch to use Glyph_Data instead of Glyph_Entry
2013-10-28 15:47:14 +09:00
Jean-Philippe Andre
28a5c6f587
evas/cserve2: Add compile-time log level flag for cserve2
...
DBG and INF messages pollute the logs and performance reports
from valgrind, let's disable them at build-time for better
benchmarking.
Fix other compilation warnings and clean code a bit
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
9d731364c1
evas/cserve2: Optimize cserve2_shared_string_del()
...
eina_hash_del_by_data is very expensive, so let's delete by key
since we can get the original data.
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
e95bd7755e
evas/cserve2: Add binary search in server side
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
f5fee255de
evas/cserve2: Fix race condition on font load / socket fail
...
If the client exits while the server is loading fonts,
the font entry objects are accessed after being freed.
Note: This is not a proper fix. The race condition should still
be fixed, but delaying client deletion a bit might help for a while...
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
88ef4131a0
evas/cserve2: Share paths of index tables with clients
...
- Send paths to all connected clients
- Send paths upon connection from a new client
- Client side:
- Fast find opened images
- Fast find loaded images
- Optimize load by skipping socket wait
Also, remap indexes when needed (file size changed)
When index file grows, the clients are not notified, so they
must constantly check that their mapping matches the current array
size.
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
47be3a2b81
evas/cserve2: Prepare shared indexes in clients
...
- Move required struct definitions to common evas_cs2.h
- Open/close shm and map arrays to memory
Pretty stupid for now as it will close & reopen the shm files
even when unchanged.
- Check shm size and array header consistency
- Implement message send
- Send messages from server when calling repack()
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
c0bb73c775
evas/cserve2: Fix image load premultiplication
...
There was a color problem in elementary_test since elm
sets premul to 0 while expedite sets it to 1 during image load.
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
db66f69104
evas/cserve2: _cserve2_cache_fast_scaling_check()
...
Adapt function to new Data/Entry model.
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
ee74562bf0
evas/cserve2: Simplify error logs
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
64e7d48296
evas/cserve2: Store Image_Data in shared array
...
Split image entries into Image_Data and Image_Entry.
Store, find and use Image_Data descriptors from shared array.
Fix some wrong hash table usages.
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
315c2fd161
evas/cserve2: binary search in Shared_Array
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
d0e647fee3
evas/cserve2: Repack File_Data shared array
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
acae35b4d1
evas/cserve2: Use Shared_Array storage for File_Data
...
File_Entry and File_Data are now two different types,
one being stored in the shared array, the other one
is only a reference counting entry.
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
c57a319df3
evas/cserve2: Rename File_Data pointers to fd
...
The name fe is also used by Font_Entry, slightly confusing
2013-10-28 15:47:13 +09:00
Jean-Philippe Andre
12deed8073
evas/cserve2: Use unique id counter
...
Merge file id and image id into a single entry id.
2013-10-28 15:47:12 +09:00
Jean-Philippe Andre
07fb7172d5
evas/cserve2: Implement shared index and buffers
...
Only import the C file for now.
Implement the following features:
- Shared Arrays
Store arrays of elements of fixed size in shm.
- Shared Mempool
Store random sized buffers in shm.
These buffers are indexed in a Shared Array and are
referred to using their index only.
- Shared Strings
Store strings in a shm in a way similar to Eina_Stringshare
(except strings are referred to using an int index).
- Include evas_cserve2_index.c to the compilation.
- Declare shared index functions in header file.
- Call init() and shutdown() on the shared index subsystem.
- Add find and foreach functions
2013-10-28 15:47:12 +09:00
Jean-Philippe Andre
deb8776de5
evas/cserve2: Add functions to resize shm files
...
- cserve2_shm_segment_request()
Creates a new shm segment (Shm_Handle) from an existing file,
without changing the current mmap.
- cserve2_shm_resize()
Grows the file and remaps in memory (new virtual address).
- cserve2_shm_id_get()
Returns the shm creation ID.
2013-10-28 15:47:12 +09:00
Jean-Philippe Andre
781c2e26e5
evas/cserve2: Prepare usage of shared strings
...
+ Add macros to fake usage of future cserve2 strings functions
+ Rename all File_Entry to fe
+ Other costmetic changes
2013-10-28 15:47:12 +09:00
Jean-Philippe Andre
afde0c892b
evas/cserve2: Add CRIT() macro
...
For easy debugging
2013-10-28 15:47:12 +09:00
Chris Michael
28fed3fdb7
Fix formatting
...
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-10-27 15:44:31 +00:00
Chris Michael
2be84a6073
Fix compiler warning(s) about eina_hash_int64 being passed pointer
...
from integer
Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-10-27 15:43:18 +00:00
Sebastian Dransfeld
7eebd55ebe
efreet: Fix file opening
...
- Store result from mkstemp so we don't leak file descriptor
- No need to chmod, as we set correct umask before createing file
- Use fdopen to open file from file descriptor, not from path
2013-10-22 12:54:22 +02:00
Carsten Haitzler
ed0e8b8df1
Revert "efreet: Use eina_file_mkstemp"
...
This reverts commit bd5a5e7fce
.
sorry about this... all fine eina mkstemp use and all... but this
*BREAKS EFREET*! ibar icons stop working (vanish). efreet no longer
issues a desktop file update event to e etc. etc. etc. ... so let's
keep code that works for now even if it uses mkstemp and not eina...
:) working is better. :)
2013-10-16 22:56:38 +09:00
Sebastian Dransfeld
bd5a5e7fce
efreet: Use eina_file_mkstemp
2013-10-16 04:48:20 +02:00
Cedric Bail
4be4076cd4
edje: handle reallocation of pointed data properly for limits.
2013-10-15 18:15:51 +09:00
Cedric BAIL
443012dbcb
edje: typo fix.
2013-10-14 14:00:59 +02:00
Cedric BAIL
48bc51b0c7
edje: fix CID 1054522 - Logically dead code
...
The buffer is a static buffer in that scenario, so never going to be NULL indeed.
2013-10-14 13:53:06 +02:00
Cedric BAIL
12072b2217
edje: fix CID 1062226 - Dereference after null check.
...
It seems to be possible in some badly crafted edj to trigger that path.
2013-10-14 13:45:26 +02:00
Sebastian Dransfeld
e2dabc5d23
efreet: Set umask before creating temporary file
...
CID 1039615
2013-10-14 13:20:44 +02:00
Sebastian Dransfeld
67a8feeb08
efreet: Set umask before creating temp file
...
CID 1039616
2013-10-14 13:19:59 +02:00
Sebastian Dransfeld
cc89eb2af9
efreet: Check size of buffer and '\0' terminate
...
CID 1039595
2013-10-14 13:14:59 +02:00
Carsten Haitzler
6732ab15af
1 char editing messup - revert it.
2013-10-13 11:38:59 +09:00
Carsten Haitzler
f3e3739e7c
edje_cc - CEEEEEEEEEEEEDRIIIIIIIIC! realloc+lookup bug workaround!
...
need i say more. this is a q1uick workaround a bug that is a result of
realloc moving memory around and thus lookups becoming broken.
2013-10-13 02:07:28 +09:00
Carsten Haitzler
69e27abdc3
eina - and e3fl in general - stop using eina_error_get/set - useless really
2013-10-11 16:50:40 +09:00
Cedric Bail
b125a9afa6
gitignore: do not track generated files.
2013-09-26 15:51:25 +09:00
José Roberto de Souza
5a8d3125b5
eldbus codegen: Initialize signal events with 0
2013-09-19 15:47:22 -03:00
Cedric Bail
797ad7528f
edje: add border linked to Image sets.
...
It is quite common that in an image sets each image has different border size.
This patch permit to define the border value on a per image basis in the set.
2013-09-06 16:47:36 +09:00
Boris Faure
84c383dc1a
export EFL_VERSION_MAJOR/MINOR
2013-08-29 15:28:32 +02:00
Boris Faure
18ee1e1789
edje: export EINA_VERSION_MAJOR/MINOR when compiling edc files
2013-08-29 15:17:19 +02:00
Daniel Willmann
3e5bd813d3
embryo: Fix a potential buffer overflow (klocwork id 321)
...
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
2013-08-12 18:32:40 +01:00
Gustavo Lima Chaves
d84e77d93f
Enough with this bad align Edje property documentation.
2013-08-12 13:29:43 -03:00
Stefan Schmidt
84a7cefcc2
edje: Do not access after freeing
...
Better free it after we access it.
CID 1039917
2013-08-09 11:43:25 +01:00
Sebastian Dransfeld
f854efd041
efreet: Use mkstemp for tempfile
...
CID: #1039615
2013-08-07 13:02:53 +02:00
Sebastian Dransfeld
6a7f417cec
efreet: Check return value of chmod
...
CID: #1039716
2013-08-07 13:02:53 +02:00
Cedric Bail
93b0fbfe65
edje: add warning when not finding the exact match.
...
This will close T223.
2013-08-07 16:01:57 +09:00
Chris Michael
ff9b4775e8
Fix memleak in data_thread_script of edje_cc_out
...
NB: If we are going to exit data_thread_script function due to malloc
failure or fread failure, then we should close the previously fdopen'd
file so that we do not leak 'f'.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 15:32:12 +01:00
Chris Michael
b344ef2440
Remove Eet_Connection from hash Before we call eet_connection_close
...
(as that frees the connection).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 13:13:19 +01:00
Chris Michael
397e8afc1a
Avoid potential divide by zero in INF call.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 12:42:31 +01:00
Chris Michael
42496ac4ea
fopen can fail. check file is open before trying to write to it.
...
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 10:41:16 +01:00
Daniel Juyung Seo
a3165bff15
edje: added BLOCK_HANDLE description and vim syntax.
2013-08-02 13:27:54 +09:00
Cedric Bail
ee72c809f0
efl: fix headers order.
2013-07-23 11:27:29 +09:00
Cedric Bail
cf9b0180d6
edje: add threshold to draggable part.
2013-07-19 15:40:11 +09:00
ChunEon Park
8cec34d1d4
edje/map - changed data structure from list to array to improve color data memory access
2013-07-18 20:09:54 +09:00
Carsten Haitzler
08105a0136
fix clang sizeof complaint
2013-07-16 20:45:24 +09:00
Carsten Haitzler
a484403db8
fix a bunch of reallocs self-assigning the same var
2013-07-16 20:45:24 +09:00
Carsten Haitzler
b84e81fbea
fix clang sizeof complaint
2013-07-16 20:45:24 +09:00
Carsten Haitzler
a091a1d730
fix clang sizeof complaint
2013-07-16 20:45:24 +09:00
Carsten Haitzler
9a3256ba44
fix clang sizeof complaint
2013-07-16 20:45:24 +09:00
Carsten Haitzler
36cd49a182
fix realloc assign to "self".
2013-07-16 20:45:24 +09:00
Carsten Haitzler
4c970812f2
fix clang nonnull complaint
2013-07-16 17:16:20 +09:00
Carsten Haitzler
2ca7f23dbc
fix clang nonnull complaint
2013-07-16 17:12:08 +09:00
Carsten Haitzler
8db1013956
fix clang nonnull complaint
2013-07-16 17:10:59 +09:00
Cedric Bail
2859d76402
efreet: set process priority on Windows too.
2013-07-12 08:42:08 +09:00
Cedric Bail
83de2e25ca
efreet: it should be a #ifdef now...
2013-07-11 18:22:38 +09:00
Cedric Bail
b887558afa
efreet: use the correct guard.
2013-07-11 18:16:32 +09:00
Igor Murzov
079c1c6d9b
eet: Fix copy&paste issue
2013-07-11 00:52:36 +04:00
Carsten Haitzler
6ceabbdb6c
ethumb - fix ethumbd timeout to always work at start and mid-run too.
2013-07-09 20:13:24 +09:00
Carsten Haitzler
bb4539c826
ethumbd timeout to 30s to not timeout in middle of long generate
2013-07-09 19:56:18 +09:00
Carsten Haitzler
95c836eaa3
up ethumbd timeout to 10sec by default
2013-07-09 19:37:55 +09:00
Stefan Schmidt
531be113be
efreet: Guard priority settign and getting functions for WIN32
...
These functions are not available on a mingw build. Not really needed
either so just ifdef them.
2013-07-09 09:06:21 +01:00
José Roberto de Souza
9b9002e7e3
eldbus-codegen: If substr dont exist in string return string.
...
CID: 1039339
2013-07-08 13:52:12 -03:00
Chris Michael
7fc497ee6e
Fix memleak reported by Coverity:
...
If we have file And fname, then we can call the source_fetch_file
function, HOWEVER we may only have One or the Other in which case we
still need to potentially free the other.
NB: Fixes Coverity CID1039296
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 13:13:15 +01:00
Chris Michael
61e17aa5c2
Fix memleak reported by Coverity: Don't leak a strdup.
...
NB: Fixes Coverity CID1039295
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 13:11:10 +01:00
Chris Michael
93fc18daf2
Fix leak of fd handle reported by Coverity
...
NB: Fixes Coverity CID1039288
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 13:07:18 +01:00
Jean-Philippe Andre
ee037d3586
evas/cserve2: Add infix to shm filenames
...
Minor change
So, we can distinguish between image, font and index shm files.
2013-07-08 17:16:04 +09:00
Jean-Philippe Andre
c6db8ba782
evas/cserve2: Implement fast(er) scaling of images
...
In its current model, cserve2 will reopen, reload and scale an
image whenever a new scaled version is requested by the client.
Instead, we can load the original image when too many scaled
versions are requested, and place the original in the LRU.
2013-07-08 16:06:08 +09:00
Jean-Philippe Andre
cf61319ae1
evas/cserve2: Minor fixes from Coverity check
...
- CID 1042303
- CID 1039912
- CID 1039285
2013-07-08 16:06:08 +09:00
Chris Michael
9d60d6ccff
Check return value of lseek call for errors.
...
NB: Fixes Coverity CID 1040029
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 07:31:50 +01:00
Ryuan Choi
8d41667412
edje_cc: Fixed possible leak when description.map.color defines same idx more than one time
...
Spotted by coverity. CID 1039298.
2013-07-06 01:30:54 +09:00
Jean-Philippe Andre
09a5c28e5b
evas/cserve2: no cache for large images or non-smooth
...
The concept is taken from scalecache. I am not sure of the
performance impact.
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre
7c7c231015
evas/cserve2: simplify more
...
Remove Image_Load_Opts and use Evas_Image_Load_Opts for cs2 master to
slave communication.
2 things to note:
- The struct size is bigger (but at the same time we removed a memcpy)
- The scale_load field is not passed to the slave
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre
46b7baa379
evas/cserve2: merge SETOPTS into OPEN
...
When opening an image, OPEN and SETOPTS were always sent
consecutively. Merging these two messages may improve the
performance a bit (not measured), but also simplify the
whole thing.
Note: cserve2 debug tools have not been fixed yet.
2013-07-04 13:02:48 +09:00
Jean-Philippe Andre
ca5d174568
evas/cserve2: use Evas_Image_Load_Opts directly
...
Image_Data contained a similar struct to the standard Evas struct,
let's not duplicate it uselessly.
2013-07-04 13:02:48 +09:00
Carsten Haitzler
64f8ea918c
ethumbd - set default timeout for ethumbd to 2 seconds
2013-07-04 08:40:35 +09:00
Chris Michael
03448524ab
Don't try to print out how many bytes we write to an eet file Unless
...
we actually write something.
NB: Fixes klockwork issue.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-02 09:54:30 +01:00
Chris Michael
292d23321c
Check for valid out_file before trying to write eet data to it.
...
NB: Fixes klockwork issue.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-02 09:53:08 +01:00
Chris Michael
e2b2918858
Check for valid output_filename before trying to use it.
...
NB: Fixes klockwork issue.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-02 09:43:23 +01:00
Jean-Philippe Andre
67cccea61b
evas/cserve2: fix usage of Evas_Image_Load_Opts
...
Since the load options are not copied but the pointer is simply
stored by the module, we need to move the struct higher in the
stack.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
687c4aa475
evas/cserve2: use Eina_Stringshare.
...
We must close the image after loading the data.
Also, Evas loaders expect stringshares.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
8db3d4d2bf
evas/cserve2: remove dead code (old loaders API).
...
Remove: cserve-specific loaders and deprecated code.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
48d97f7a90
evas/cserve2: use Evas loaders from slave
...
Use common loaders with evas, and ignore specific modules.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
db6cba1429
evas/cserve2: avoid useless SETOPT messages.
...
Most of the time, the SETOPT message is sent only
to carry 0 data. Let's add a flag to the OPEN message to
avoid useless socket calls.
Server-side: implement with message faking.
Also, fix image ID logic on client side:
- alloc data entry asap,
- assign image_id during call to OPEN
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
f9a7820e02
evas/cserve2: Simplify debug logs (server side).
...
Remove newlines.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
29bf164c75
evas/cserve2: pass loader data during open.
...
Note: this path seems never to be used.
Loader options are set by the file loader or after open.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
6a2a0187ff
evas/cserve2: write() can return other errors.
...
In case of error, return from the function and don't decrement
the send variable.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
f7c6545170
evas/cserve2: minor fixes (error paths).
...
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:10 +09:00
Jean-Philippe Andre
d712a13a7a
evas/cserve2: use null-terminated strings everywhere.
...
Some hashtable lookups failed because the keys were added
either with eina_stringshare_add() or e_s_add_lenth() but
looked for with e_s_add_length() only.
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
2013-07-02 16:58:09 +09:00
Chris Michael
7e222b949c
Fix klockwork memleak: If we allocate a colormap above, then we need
...
to free it on error.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-06-28 13:57:56 +01:00