friendly anonymous mmap name for win32
git-svn-id: svn://svn.lighttpd.net/xcache/trunk@21 c26eb9a1-5813-0410-bd6c-c2e55f420ca71.1
parent
a2d3c2ceee
commit
e59d43c7c9
9
mmap.c
9
mmap.c
|
@ -137,18 +137,23 @@ void xc_shm_destroy(xc_shm_t *shm) /* {{{ */
|
|||
/* }}} */
|
||||
xc_shm_t *xc_shm_init(const char *path, xc_shmsize_t size, zend_bool readonly_protection) /* {{{ */
|
||||
{
|
||||
#ifdef ZEND_WIN32
|
||||
# define TMP_PATH "XCache"
|
||||
#else
|
||||
# define TMP_PATH "/tmp/XCache"
|
||||
#endif
|
||||
xc_shm_t *shm = NULL;
|
||||
int fd = -1;
|
||||
int ro_ok;
|
||||
volatile void *romem;
|
||||
char tmpname[sizeof("/tmp/xcache") - 1 + 100];
|
||||
char tmpname[sizeof(TMP_PATH) - 1 + 100];
|
||||
|
||||
CHECK(shm = calloc(1, sizeof(xc_shm_t)), "shm OOM");
|
||||
shm->size = size;
|
||||
|
||||
if (path == NULL || !path[0]) {
|
||||
static int inc = 0;
|
||||
snprintf(tmpname, sizeof(tmpname) - 1, "/tmp/xcache.%d.%d.%d", (int) getuid(), inc ++, rand());
|
||||
snprintf(tmpname, sizeof(tmpname) - 1, "%s.%d.%d.%d", TMP_PATH, (int) getuid(), inc ++, rand());
|
||||
path = tmpname;
|
||||
}
|
||||
|
||||
|
|
11
xcache.c
11
xcache.c
|
@ -1711,6 +1711,11 @@ static PHP_INI_MH(xc_OnUpdateString)
|
|||
#define OnUpdateInt OnUpdateLong
|
||||
#endif
|
||||
|
||||
#ifdef ZEND_WIN32
|
||||
# define DEFAULT_PATH "xcache"
|
||||
#else
|
||||
# define DEFAULT_PATH "/dev/zero"
|
||||
#endif
|
||||
PHP_INI_BEGIN()
|
||||
PHP_INI_ENTRY1 ("xcache.size", "0", PHP_INI_SYSTEM, xc_OnUpdateLong, &xc_php_size)
|
||||
PHP_INI_ENTRY1 ("xcache.count", "1", PHP_INI_SYSTEM, xc_OnUpdateHashInfo, &xc_php_hcache)
|
||||
|
@ -1720,7 +1725,7 @@ PHP_INI_BEGIN()
|
|||
PHP_INI_ENTRY1 ("xcache.var_count", "1", PHP_INI_SYSTEM, xc_OnUpdateHashInfo, &xc_var_hcache)
|
||||
PHP_INI_ENTRY1 ("xcache.var_slots", "8K", PHP_INI_SYSTEM, xc_OnUpdateHashInfo, &xc_var_hentry)
|
||||
|
||||
PHP_INI_ENTRY1 ("xcache.mmap_path", "/dev/zero", PHP_INI_SYSTEM, xc_OnUpdateString, &xc_mmap_path)
|
||||
PHP_INI_ENTRY1 ("xcache.mmap_path", DEFAULT_PATH, PHP_INI_SYSTEM, xc_OnUpdateString, &xc_mmap_path)
|
||||
PHP_INI_ENTRY1 ("xcache.coredump_directory", "", PHP_INI_SYSTEM, xc_OnUpdateString, &xc_coredump_dir)
|
||||
PHP_INI_ENTRY1 ("xcache.test", "0", PHP_INI_SYSTEM, xc_OnUpdateBool, &xc_test)
|
||||
PHP_INI_ENTRY1 ("xcache.readonly_protection", "0", PHP_INI_SYSTEM, xc_OnUpdateBool, &xc_readonly_protection)
|
||||
|
@ -1820,7 +1825,7 @@ static PHP_MINIT_FUNCTION(xcache)
|
|||
|
||||
if ((xc_php_size || xc_var_size) && xc_mmap_path && xc_mmap_path[0]) {
|
||||
if (!xc_init(module_number TSRMLS_CC)) {
|
||||
zend_error(E_ERROR, "XCache: Cannot init xcache");
|
||||
zend_error(E_ERROR, "XCache: Cannot init");
|
||||
goto err_init;
|
||||
}
|
||||
xc_initized = 1;
|
||||
|
@ -1891,7 +1896,7 @@ static ZEND_MODULE_POST_ZEND_DEACTIVATE_D(xcache)
|
|||
|
||||
zend_module_entry xcache_module_entry = {
|
||||
STANDARD_MODULE_HEADER,
|
||||
"xcache",
|
||||
"XCache",
|
||||
xcache_functions,
|
||||
PHP_MINIT(xcache),
|
||||
PHP_MSHUTDOWN(xcache),
|
||||
|
|
Loading…
Reference in New Issue