jpeg pushed a commit to branch master.

commit ee037d358689c23127e5f90ecee685557521041b
Author: Jean-Philippe Andre <[email protected]>
Date:   Mon Jul 8 16:55:58 2013 +0900

    evas/cserve2: Add infix to shm filenames
    
    Minor change
    So, we can distinguish between image, font and index shm files.
---
 src/bin/evas/evas_cserve2.h       | 2 +-
 src/bin/evas/evas_cserve2_cache.c | 9 +++++----
 src/bin/evas/evas_cserve2_fonts.c | 2 +-
 src/bin/evas/evas_cserve2_shm.c   | 7 ++++---
 4 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/bin/evas/evas_cserve2.h b/src/bin/evas/evas_cserve2.h
index db4cecf..cc1a748 100644
--- a/src/bin/evas/evas_cserve2.h
+++ b/src/bin/evas/evas_cserve2.h
@@ -259,7 +259,7 @@ void cserve2_message_handler(int fd, Fd_Flags flags, void 
*data);
 
 void cserve2_shm_init();
 void cserve2_shm_shutdown();
-Shm_Handle *cserve2_shm_request(size_t size);
+Shm_Handle *cserve2_shm_request(const char *infix, size_t size);
 void cserve2_shm_unref(Shm_Handle *shm);
 const char *cserve2_shm_name_get(const Shm_Handle *shm);
 off_t cserve2_shm_map_offset_get(const Shm_Handle *shm);
diff --git a/src/bin/evas/evas_cserve2_cache.c 
b/src/bin/evas/evas_cserve2_cache.c
index 92babaf..1da7b95 100644
--- a/src/bin/evas/evas_cserve2_cache.c
+++ b/src/bin/evas/evas_cserve2_cache.c
@@ -425,7 +425,7 @@ _load_request_build(Image_Data *i, int *bufsize)
    Slave_Msg_Image_Load msg;
 
    // opening shm for this file
-   i->shm = cserve2_shm_request(i->file->w * i->file->h * 4);
+   i->shm = cserve2_shm_request("img", i->file->w * i->file->h * 4);
    if (!i->shm)
      return NULL;
 
@@ -541,8 +541,9 @@ _scaling_prepare_and_do(Image_Data *orig)
 
    DBG("Original image's shm path %s", cserve2_shm_name_get(orig->shm));
 
-   scale_shm =
-     cserve2_shm_request(orig->opts.scale_load.dst_w * 
orig->opts.scale_load.dst_h * 4);
+   scale_shm = cserve2_shm_request(
+            "img",
+            orig->opts.scale_load.dst_w * orig->opts.scale_load.dst_h * 4);
 
    DBG("Scale image's shm path %s", cserve2_shm_name_get(scale_shm));
 
@@ -2226,7 +2227,7 @@ do_scaling:
    if (entry->shm)
      cserve2_shm_unref(entry->shm);
 
-   entry->shm = cserve2_shm_request(dst_w * dst_h * 4);
+   entry->shm = cserve2_shm_request("img", dst_w * dst_h * 4);
    if (!entry->shm) return -1;
 
    if (_scaling_do(entry->shm, entry, original) != 0)
diff --git a/src/bin/evas/evas_cserve2_fonts.c 
b/src/bin/evas/evas_cserve2_fonts.c
index 6c6628c..af8139e 100644
--- a/src/bin/evas/evas_cserve2_fonts.c
+++ b/src/bin/evas/evas_cserve2_fonts.c
@@ -284,7 +284,7 @@ _font_slave_load(const void *cmddata, void *data 
EINA_UNUSED)
 static Shm_Handle *
 _font_slave_memory_alloc(Font_Info *fi)
 {
-   Shm_Handle *shm = cserve2_shm_request(fi->shmsize);
+   Shm_Handle *shm = cserve2_shm_request("font", fi->shmsize);
 
    return shm;
 }
diff --git a/src/bin/evas/evas_cserve2_shm.c b/src/bin/evas/evas_cserve2_shm.c
index ffaa889..7dcf05d 100644
--- a/src/bin/evas/evas_cserve2_shm.c
+++ b/src/bin/evas/evas_cserve2_shm.c
@@ -52,7 +52,7 @@ cserve2_shm_size_normalize(size_t size)
 }
 
 Shm_Handle *
-cserve2_shm_request(size_t size)
+cserve2_shm_request(const char *infix, size_t size)
 {
    Shm_Mapping *map;
    Shm_Handle *shm;
@@ -76,7 +76,8 @@ cserve2_shm_request(size_t size)
      }
 
    do {
-        snprintf(shmname, sizeof(shmname), "/evas-shm-img-%x-%d", 
(int)getuid(), id++);
+        snprintf(shmname, sizeof(shmname), "/evas-shm-%x-%s-%08x",
+                 (int) getuid(), infix, id++);
         fd = shm_open(shmname, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
         if (fd == -1 && errno != EEXIST)
           {
@@ -202,7 +203,7 @@ _cserve2_shm_cleanup()
    const Eina_File_Direct_Info *f_info;
    char pattern[NAME_MAX];
 
-   sprintf(pattern, "evas-shm-img-%x-", (int) getuid());
+   sprintf(pattern, "evas-shm-%x-", (int) getuid());
    iter = eina_file_direct_ls("/dev/shm");
    EINA_ITERATOR_FOREACH(iter, f_info)
      {

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to