path: root/src/bin/evas/evas_cserve2_shm_debug.c (follow)
AgeCommit message (Collapse)Author
2014-01-14Evas/cserve2: Rename "invalid" field to "changed"Jean-Philippe Andre
This flag indicates that a file changed, not that the entry is invalid. There is another "valid" flag already.
2013-10-29evas/cserve2: Fix new Coverity issuesJean-Philippe Andre
Nothing extraordinary here. Most potential crashes are extremely unlikely. - Fix CID 1113444 - Fix CID 1113442 - Fix CID 1113441 (Logically dead code, can not be NULL) - Fix CID 1113440: Explicit null dereferenced This is actually an impossible situation. Fixed by checking for nullity and printing out some error messages instead of just crashing. - Fix CID 1113439: Dereference after null check Logically impossible code as both idxpath and datapath must be either set or null at the same time. Change the if logic to tell Coverity there's no bug. - Fix CID 1113438 (Argument cannot be negative) Fix wrong check of return value from shm_open. - Fix CID 1113437 (Argument cannot be negative) Fix wrong check of return value from shm_open. - Fix CID 1113436 (Dereference null return value) This case really shouldn't happen. But the extra check does not hurt. - Fix CID 1113435 (Dereference before null check) Check for nullity after map open. - Fix CID 1113434 (Extra sizeof expression) Debug buggy debug tool :) - Fix CID 1113433 (Uninitialized scalar variable) Insignificant issue: only prints wrong debug logs :) - Fix CID 1113431 (Uninitialized scalar value) Check if (!found) only to print out logs. Not a big deal if found was invalid. - Fix CID 1039462 (Logically dead code)
2013-10-28evas/cserve2: Merge Glyph_Data and mempool indexJean-Philippe Andre
Glyphs were previously using 3 shared buffers, now reduce to 2: - Memory pool (mempool) containing the glyph drawable data - Index table (Shared_Index / array) containing only the indexes of the buffers in the mempool - Glyph_Data table (array) containing the glyphs descriptors AS WELL as the buffer indexes. So, we just merge the two index tables into one by using directly objects of type Glyph_Data for the referencing of the mempool buffers.
2013-10-28evas/cserve2: Add PID to shm filenamesJean-Philippe Andre
This will help identify new memory pools in case cserve2 restarts and reloads the same glyphs for instance.
2013-10-28evas/cserve2: Fix images indexing (File_Entry stuff)Jean-Philippe Andre
High-level problem: cserve2 does not support load_opts properly when opening an image. As a result, when (pre)loading a JPEG file with specific load options (eg. w, h, region and orientation), the image buffer might have the wrong dimensions. So, we need to use load_opts when computing file hash key. And, pass these load options to the loader slave, and use them while OPENING the image. This will set properly the geometry. Fixes test "Preload and Prescale" in elementary_test.
2013-10-28evas/cserve2: Drop pre-emptive load of large imagesJean-Philippe Andre
When the image is too large, let's not preload it unless specifically requested by the application. Value 320x320 is completely arbitrary.
2013-10-28evas/cserve2: Fallback to normal cache for animated gifsJean-Philippe Andre
Pass around "animated" flag for images that can be animated. Fallback to local cache if the image is animated. Implementing support for animated images in cserve2 does not seem to make a lot of sense considering each frame must be requested independently in real time,... and to be honest there doesn't seem to be any valid use case anyway :)
2013-10-28evas/cserve2: Fix font hintingJean-Philippe Andre
cserve2 was not handling font hints properly in the server side Add some consistency checks and separate glyphs per hinting value
2013-10-28evas/cserve2: Optimize shared stringsJean-Philippe Andre
Shared string indexes are not repacked, since they live in a memory pool (where the indexes can be reused). So, the index in the table is equal to their ID. Add initial test to check if the item at index n has the ID n.
2013-10-28evas/cserve2: Add SHM debug tool (CLI)Jean-Philippe Andre
Prints out the content or the shared index. Does not need any socket connection to the server, read-only.