diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c index 40b403d3d5e32..8d9a0f9f1231e 100644 --- a/ext/session/mod_files.c +++ b/ext/session/mod_files.c @@ -124,7 +124,11 @@ static char *ps_files_path_create(char *buf, size_t buflen, ps_files *data, cons static void ps_files_close(ps_files *data) { if (data->fd != -1) { +#ifdef PHP_WIN32 + /* On Win32 locked files that are closed without being explicitly unlocked + will be unlocked only when "system resources become available". */ flock(data->fd, LOCK_UN); +#endif close(data->fd); data->fd = -1; }