Changeset 57
- Timestamp:
- 06/02/2006 01:55:05 AM (2 years ago)
- Files:
-
- 1 modified
-
trunk/mmap.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/mmap.c
r21 r57 12 12 # define ftruncate chsize 13 13 # define getuid() 0 14 # define X cacheCreateFileMapping(size, perm, name) \14 # define XCacheCreateFileMapping(size, perm, name) \ 15 15 CreateFileMapping(INVALID_HANDLE_VALUE, NULL, perm, (sizeof(xc_shmsize_t) > 4) ? size >> 32 : 0, size & 0xffffffff, name) 16 16 # define XCACHE_MAP_FAILED NULL … … 43 43 xc_shmsize_t size; 44 44 char *name; 45 int newfile; 45 46 #ifdef ZEND_WIN32 46 47 HANDLE hmap; … … 123 124 if (shm->name) { 124 125 #ifdef __CYGWIN__ 125 unlink(shm->name); 126 if (shm->newfile) { 127 unlink(shm->name); 128 } 126 129 #endif 127 130 free(shm->name); … … 165 168 if (fd == -1) { 166 169 fd = open(shm->name, O_CREAT | O_RDWR, XCACHE_MMAP_PERMISSION); 170 shm->newfile = 1; 167 171 if (fd == -1) { 168 172 goto err; 169 173 } 170 174 } 175 if (strncmp(shm->name, "/tmp", 4) == 0) { 176 shm->newfile = 0; 177 } 171 178 ftruncate(fd, size); 172 179 #endif 173 180 174 181 #ifdef ZEND_WIN32 175 shm->hmap = X cacheCreateFileMapping(size, PAGE_READWRITE, shm->name);182 shm->hmap = XCacheCreateFileMapping(size, PAGE_READWRITE, shm->name); 176 183 shm->ptr = (LPSTR) MapViewOfFile(shm->hmap, FILE_MAP_WRITE, 0, 0, 0); 177 184 #else … … 187 194 if (readonly_protection) { 188 195 #ifdef ZEND_WIN32 189 shm->hmap_ro = X cacheCreateFileMapping(size, PAGE_READONLY, shm->name);196 shm->hmap_ro = XCacheCreateFileMapping(size, PAGE_READONLY, shm->name); 190 197 shm->ptr_ro = (LPSTR) MapViewOfFile(shm->hmap_ro, FILE_MAP_READ, 0, 0, 0); 191 198 #else … … 226 233 close(fd); 227 234 #ifndef __CYGWIN__ 228 unlink(shm->name); 235 if (shm->newfile) { 236 unlink(shm->name); 237 } 229 238 #endif 230 239

