-
Notifications
You must be signed in to change notification settings - Fork 7.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shared memory descriptors are not closed after PHP program execution is complete. #17245
Comments
Lines 751 to 754 in bf5e6c5
It seems to me that we need to unmap unconditionally, but should close the handle if the refcount drops to zero (the latter might not be necessary). |
Lines 686 to 691 in bf5e6c5
At this point the open Handle is lost, since no one closed shm->segment. |
Is this a problem outside of |
OPcache should not be affected, but the underlying emulation of POSIX shared memory primitives is in tsrm_win32.c, and can be used by other clients than ext/shmop (for instance, it is also used by ext/sysvshm). |
Description
Extension SHMOP.
shm_id = shmop_open($r, "c", 0644,1024000); ?>
When the web server is running for a long time, the number of open descriptors reaches 15 million or more. As a result, the web server complains about the lack of resources.
Shared memory descriptors are not closed after PHP program execution is complete.
Apache 2.4.62 PHP 8.4(php8apache2_4.dll) Windows 11.
PHP Version
PHP 8.4
Operating System
Windows 11
The text was updated successfully, but these errors were encountered: