summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/session/mod_files.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c
index 40b403d3d5..8d9a0f9f12 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;
}