evas/cserve2: Add PID to shm filenames
This will help identify new memory pools in case cserve2 restarts and reloads the same glyphs for instance.
This commit is contained in:
parent
6b6e33e262
commit
660ad6e4a4
|
@ -77,8 +77,8 @@ cserve2_shm_request(const char *infix, size_t size)
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
snprintf(shmname, sizeof(shmname), "/evas-shm-%x-%s-%08x",
|
snprintf(shmname, sizeof(shmname), "/evas-shm-%05d-%05d-%s-%08x",
|
||||||
(int) getuid(), infix, ++id);
|
(int) getuid(), (int) getpid(), infix, ++id);
|
||||||
fd = shm_open(shmname, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
|
fd = shm_open(shmname, O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
|
||||||
if (fd == -1 && errno != EEXIST)
|
if (fd == -1 && errno != EEXIST)
|
||||||
{
|
{
|
||||||
|
@ -304,7 +304,7 @@ _cserve2_shm_cleanup()
|
||||||
const Eina_File_Direct_Info *f_info;
|
const Eina_File_Direct_Info *f_info;
|
||||||
char pattern[NAME_MAX];
|
char pattern[NAME_MAX];
|
||||||
|
|
||||||
sprintf(pattern, "evas-shm-%x-", (int) getuid());
|
sprintf(pattern, "evas-shm-%05d-", (int) getuid());
|
||||||
iter = eina_file_direct_ls("/dev/shm");
|
iter = eina_file_direct_ls("/dev/shm");
|
||||||
EINA_ITERATOR_FOREACH(iter, f_info)
|
EINA_ITERATOR_FOREACH(iter, f_info)
|
||||||
{
|
{
|
||||||
|
|
|
@ -179,7 +179,7 @@ _shm_files_list(const char *folder)
|
||||||
const Eina_File_Direct_Info *f_info;
|
const Eina_File_Direct_Info *f_info;
|
||||||
char pattern[64];
|
char pattern[64];
|
||||||
|
|
||||||
sprintf(pattern, "/evas-shm-%x-", (int) getuid());
|
sprintf(pattern, "/evas-shm-%05d-", (int) getuid());
|
||||||
iter = eina_file_direct_ls(folder);
|
iter = eina_file_direct_ls(folder);
|
||||||
EINA_ITERATOR_FOREACH(iter, f_info)
|
EINA_ITERATOR_FOREACH(iter, f_info)
|
||||||
{
|
{
|
||||||
|
@ -191,7 +191,7 @@ _shm_files_list(const char *folder)
|
||||||
lst = eina_list_append(lst, strdup(shmname));
|
lst = eina_list_append(lst, strdup(shmname));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
DBG("cserve2 cleanup: ignoring %s", f_info->path);
|
DBG("cserve2 scan: ignoring %s", f_info->path);
|
||||||
}
|
}
|
||||||
eina_iterator_free(iter);
|
eina_iterator_free(iter);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue