php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | |
Patch bug71024_system_id_integration_1.patch for opcache Bug #71024Patch version 2015-12-07 14:13 UTC Return to Bug #71024 | Download this patchThis patch is obsolete Obsoleted by patches: This patch renders other patches obsolete Obsolete patches: Patch Revisions:Developer: ab@php.netdiff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 39d2b4c..cc4273c 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -2459,8 +2459,6 @@ static void accel_globals_dtor(zend_accel_globals *accel_globals) } } -#ifdef HAVE_OPCACHE_FILE_CACHE - #define ZEND_BIN_ID "BIN_" ZEND_TOSTR(SIZEOF_CHAR) ZEND_TOSTR(SIZEOF_INT) ZEND_TOSTR(SIZEOF_LONG) ZEND_TOSTR(SIZEOF_SIZE_T) ZEND_TOSTR(SIZEOF_ZEND_LONG) ZEND_TOSTR(ZEND_MM_ALIGNMENT) static void accel_gen_system_id(void) @@ -2489,7 +2487,6 @@ static void accel_gen_system_id(void) md5str[(i * 2) + 1] = c; } } -#endif #ifdef HAVE_HUGE_CODE_PAGES # ifndef _WIN32 @@ -2619,9 +2616,7 @@ static int accel_startup(zend_extension *extension) return FAILURE; } -#ifdef HAVE_OPCACHE_FILE_CACHE accel_gen_system_id(); -#endif #ifdef HAVE_HUGE_CODE_PAGES if (ZCG(accel_directives).huge_code_pages && diff --git a/ext/opcache/ZendAccelerator.h b/ext/opcache/ZendAccelerator.h index 798b2d7..083c0d9 100644 --- a/ext/opcache/ZendAccelerator.h +++ b/ext/opcache/ZendAccelerator.h @@ -251,9 +251,7 @@ typedef struct _zend_accel_globals { int auto_globals_mask; time_t request_time; time_t last_restart_time; /* used to synchronize SHM and in-process caches */ -#ifdef HAVE_OPCACHE_FILE_CACHE char system_id[32]; -#endif HashTable xlat_table; /* preallocated shared-memory block to save current script */ void *mem; diff --git a/ext/opcache/shared_alloc_win32.c b/ext/opcache/shared_alloc_win32.c index ce4bacf..f08a9f4 100644 --- a/ext/opcache/shared_alloc_win32.c +++ b/ext/opcache/shared_alloc_win32.c @@ -76,26 +76,34 @@ static void zend_win_error_message(int type, char *msg, int err) static char *create_name_with_username(char *name) { - static char newname[MAXPATHLEN + UNLEN + 4]; + static char newname[MAXPATHLEN + UNLEN + 4 + 1 + 32]; char uname[UNLEN + 1]; DWORD unsize = UNLEN; + char system_id[33]; + + memcpy(system_id, ZCG(system_id), 32); + system_id[32] = '\0'; GetUserName(uname, &unsize); - snprintf(newname, sizeof(newname) - 1, "%s@%s", name, uname); + snprintf(newname, sizeof(newname) - 1, "%s@%s@%s", name, uname, system_id); return newname; } static char *get_mmap_base_file(void) { - static char windir[MAXPATHLEN+UNLEN + 3 + sizeof("\\\\@")]; + static char windir[MAXPATHLEN+UNLEN + 3 + sizeof("\\\\@") + 1 + 32]; char uname[UNLEN + 1]; DWORD unsize = UNLEN; int l; + char system_id[33]; + + memcpy(system_id, ZCG(system_id), 32); + system_id[32] = '\0'; GetTempPath(MAXPATHLEN, windir); GetUserName(uname, &unsize); l = strlen(windir); - snprintf(windir + l, sizeof(windir) - l - 1, "\\%s@%s", ACCEL_FILEMAP_BASE, uname); + snprintf(windir + l, sizeof(windir) - l - 1, "\\%s@%s@%s", ACCEL_FILEMAP_BASE, uname, system_id); return windir; } |
Copyright © 2001-2024 The PHP Group All rights reserved. |
Last updated: Thu Nov 21 15:01:30 2024 UTC |