summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2023-02-04 03:45:52 -0500
committerGlenn Strauss <gstrauss@gluelogic.com>2023-05-03 23:11:34 -0400
commita3bf0cd22e09a41a595f090e940b3485827af65d (patch)
treea357103193676b2a218ae9982a93ca9ab2ff520a /src
parent5db8a01e4d2ff971d7db532f75c9ecbea3b7ee3d (diff)
downloadlighttpd-git-a3bf0cd22e09a41a595f090e940b3485827af65d.tar.gz
[core] _WIN32 close chunk temp files before unlink
Diffstat (limited to 'src')
-rw-r--r--src/chunk.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/chunk.c b/src/chunk.c
index 37ca9e5e..8d5efae1 100644
--- a/src/chunk.c
+++ b/src/chunk.c
@@ -193,6 +193,12 @@ chunk_file_pread (int fd, void *buf, size_t count, off_t offset)
static void chunk_reset_file_chunk(chunk *c) {
if (c->file.is_temp) {
c->file.is_temp = 0;
+ #ifdef _WIN32 /*(not expecting c->file.refchg w/ .is_temp)*/
+ if (!c->file.refchg && c->file.fd != -1) {
+ fdio_close_file(c->file.fd);
+ c->file.fd = -1;
+ }
+ #endif
if (!buffer_is_blank(c->mem))
unlink(c->mem->ptr);
}