com php-src: Use memcpy() instead of mmap() to keep modifyed code (e.g. gdb breakpoints): ext/opcache/ZendAccelerator.c
| From: | Dmitry Stogov | Date: | Mon, 14 Sep 2015 15:42:45 +0000 |
| Subject: | com php-src: Use memcpy() instead of mmap() to keep modifyed code (e.g. gdb breakpoints): ext/opcache/ZendAccelerator.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-89016@lists.php.net to get a copy of this message | ||
Commit: 5c28c21159ca2c41026c5381d9dbf119b8fd6882
Author: Dmitry Stogov <dmitry@zend.com> Mon, 14 Sep 2015 18:42:45 +0300
Parents: ab74d802473c10c9f9a61f75ba6443de9a958e4b
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5c28c21159ca2c41026c5381d9dbf119b8fd6882
Log:
Use memcpy() instead of mmap() to keep modifyed code (e.g. gdb breakpoints)
Changed paths:
M ext/opcache/ZendAccelerator.c
Diff:
diff --git a/ext/opcache/ZendAccelerator..c b/ext/opcache/ZendAccelerator.c
index 2c3d9a4..dd82371 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -2499,20 +2499,15 @@ static int accel_remap_huge_pages(void *start, size_t size, const char
*name, si
{
void *ret = MAP_FAILED;
void *mem;
- int fd;
- fd = open(name, O_RDONLY);
- if (fd < 0) {
- return -1;
- }
mem = mmap(NULL, size,
- PROT_READ,
- MAP_PRIVATE | MAP_FILE | MAP_POPULATE,
- fd, offset);
+ PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS,
+ -1, 0);
if (mem == MAP_FAILED) {
- close(fd);
return -1;
}
+ memcpy(mem, start, size);
#ifdef MAP_HUGETLB
ret = mmap(start, size,
@@ -2534,7 +2529,6 @@ static int accel_remap_huge_pages(void *start, size_t size, const char *name,
si
mprotect(start, size, PROT_READ | PROT_EXEC);
}
munmap(mem, size);
- close(fd);
return (ret == start) ? 0 : -1;
}