evas/cserve2: Add infix to shm filenames

Minor change
So, we can distinguish between image, font and index shm files.
This commit is contained in:
Jean-Philippe Andre 2013-07-08 16:55:58 +09:00
parent 9e459ef9d6
commit ee037d3586
4 changed files with 11 additions and 9 deletions

View File

@ -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);

View File

@ -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)

View File

@ -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;
}

View File

@ -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)
{