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