diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-11-27 23:15:49 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-12-01 17:42:17 +0300 |
commit | 7f9b98e25631731afd8b853b9f0163dc793a0a57 (patch) | |
tree | ef81bbcf2830557346119d7d766073b1f8d2dbe0 /src/microhttpd/daemon.c | |
parent | 5bbf69f67d4d1c386d7ec4cd0b359f038a73fee2 (diff) | |
download | libmicrohttpd-7f9b98e25631731afd8b853b9f0163dc793a0a57.tar.gz libmicrohttpd-7f9b98e25631731afd8b853b9f0163dc793a0a57.zip |
Fixed thread safety with responses with same file FD,
added enum value MHD_FEATURE_RESPONSES_SHARED_FD
Diffstat (limited to 'src/microhttpd/daemon.c')
-rw-r--r-- | src/microhttpd/daemon.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 1b0a42bb..97640ba7 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -6018,7 +6018,11 @@ MHD_is_feature_supported(enum MHD_FEATURE feature) | |||
6018 | return MHD_NO; | 6018 | return MHD_NO; |
6019 | #endif /* !HTTPS_SUPPORT || GNUTLS_VERSION_NUMBER < 0x030111 */ | 6019 | #endif /* !HTTPS_SUPPORT || GNUTLS_VERSION_NUMBER < 0x030111 */ |
6020 | case MHD_FEATURE_LARGE_FILE: | 6020 | case MHD_FEATURE_LARGE_FILE: |
6021 | #if defined(HAVE___LSEEKI64) || defined(HAVE_LSEEK64) | 6021 | #if defined(HAVE_PREAD64) || defined(_WIN32) |
6022 | return MHD_YES; | ||
6023 | #elif defined(HAVE_PREAD) | ||
6024 | return (sizeof(uint64_t) > sizeof(off_t)) ? MHD_NO : MHD_YES; | ||
6025 | #elif defined(HAVE_LSEEK64) | ||
6022 | return MHD_YES; | 6026 | return MHD_YES; |
6023 | #else | 6027 | #else |
6024 | return (sizeof(uint64_t) > sizeof(off_t)) ? MHD_NO : MHD_YES; | 6028 | return (sizeof(uint64_t) > sizeof(off_t)) ? MHD_NO : MHD_YES; |
@@ -6035,6 +6039,12 @@ MHD_is_feature_supported(enum MHD_FEATURE feature) | |||
6035 | #else | 6039 | #else |
6036 | return MHD_NO; | 6040 | return MHD_NO; |
6037 | #endif | 6041 | #endif |
6042 | case MHD_FEATURE_RESPONSES_SHARED_FD: | ||
6043 | #if defined(HAVE_PREAD64) || defined(HAVE_PREAD) || defined(_WIN32) | ||
6044 | return MHD_YES; | ||
6045 | #else | ||
6046 | return MHD_NO; | ||
6047 | #endif | ||
6038 | } | 6048 | } |
6039 | return MHD_NO; | 6049 | return MHD_NO; |
6040 | } | 6050 | } |