Evgeny Grin (Karlson2k)
7d7d9bc6b1
test_upgrade: added timeout detection on send/recv operations
2023-11-24 16:08:31 +03:00
Evgeny Grin (Karlson2k)
53e1e48648
test_upgrade: set TCP_NODELAY unconditionally on used sockets
2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k)
80ecc6d37c
test_upgrade: added initial support for timeout detection
2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k)
90b2bab0d5
test_upgrade: used sized send and receive, removed VLA, other improvements
2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k)
1cf76efe80
test_upgrade{,_large}: minor improvements
2023-11-24 16:08:30 +03:00
Evgeny Grin (Karlson2k)
0ddd04b4fc
mhd_sockets: fixed error code for W32
...
The code was used only in tests and was not relevant for W32.
2023-11-24 16:08:25 +03:00
Evgeny Grin (Karlson2k)
a19df909da
Officially support zero for MHD_OPTION_THREAD_POOL_SIZE
2023-11-23 13:47:00 +03:00
Evgeny Grin (Karlson2k)
67b1cdc29d
Tests: added use of MHD_USE_NO_THREAD_SAFETY flag
2023-11-23 13:47:00 +03:00
Evgeny Grin (Karlson2k)
b05555f837
Added new daemon flag MHD_USE_NO_THREAD_SAFETY
...
Do not assume anymore single-threaded environment if external polling
is used.
The application is free to use multiple threads if MHD in the external
polling mode.
The new flag could be used to disable some thread-safety in MHD to
improve single-thread processing speed and resources usage. Basically
the new flag restores the old behaviour for external polling mode.
2023-11-21 17:37:15 +03:00
Evgeny Grin (Karlson2k)
38e2c1faac
Unified and simplified fd_set filling
2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k)
af6dd184d6
Micro-optimisations for non-overridable FD_SETSIZE
2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k)
f6b5ec5869
Improved daemon shutdown handling in external polling mode
2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k)
6fde86c265
test_digestauth2: fixed order of the initial checks
...
This should improve reported warnings when test is skipped.
2023-11-21 17:37:14 +03:00
Evgeny Grin (Karlson2k)
9dcf06f9eb
test_daemon: fixed to not skip if failed
2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k)
53a691039c
Moved user options counter to shorter its lifetime
2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k)
a54fe75ecd
MHD_start_daemon(): reject INTERNAL_POLLING_THREAD if threads are disabled
2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k)
5cbdf77176
MHD_start_daemon(): moved daemon flags internal initialisation
2023-11-21 17:37:13 +03:00
Evgeny Grin (Karlson2k)
149db58a06
MHD_quiesce_daemon(): fixed return value if already quiesced
...
Fixed to return proper documented value when MHD_quiesce_daemon() was
already called for the daemon.
2023-11-21 17:37:12 +03:00
Evgeny Grin (Karlson2k)
e35469ec9b
Added detection of more conditions to process the data without waiting
...
If no new or current connections are pending to be processed, it is
a good moment to perform some internal maintenance, like cleanup
2023-11-21 17:37:12 +03:00
Evgeny Grin (Karlson2k)
cd4d2f65fc
MHD_add_connection(): minor readability improvement
2023-11-16 17:14:14 +03:00
Evgeny Grin (Karlson2k)
050c641bde
MHD_add_connection(): added more checks for correct members of sockaddr
2023-11-16 17:05:32 +03:00
Evgeny Grin (Karlson2k)
bfa7c5a10c
MHD_start_daemon(): fixed leaked listen socket when daemon start failed
2023-11-16 10:04:29 +03:00
Evgeny Grin (Karlson2k)
89021a86ee
MHD_start_daemon(): added check for app-provided socket to fit fd_set
2023-11-16 10:03:33 +03:00
Evgeny Grin (Karlson2k)
6cb3cc344e
Fixed (again) and improved detection of application-provided socket type
...
Moved detection part into socket processing from parameters processing
part.
2023-11-16 09:08:41 +03:00
Evgeny Grin (Karlson2k)
f5a72d27f3
Implemented new option MHD_OPTION_SOCK_ADDR_LEN
...
Improved detection of TCP/IP port in application-provided sockaddr.
Added automatic detection of used address facility (sockets type).
Improved support of platforms with sa_len, ss_len, sin_len and sin6_len.
2023-11-16 09:08:40 +03:00
Evgeny Grin (Karlson2k)
f73ab43831
microhttpd.h: minor clarification for doxy
2023-11-15 15:28:38 +03:00
Evgeny Grin (Karlson2k)
6ee00803ef
Moved check for listen socket to fit fd_set
2023-11-15 15:26:39 +03:00
Evgeny Grin (Karlson2k)
dc4bbb0c82
Additional corrections for MHD_OPTION_APP_FD_SETSIZE
2023-11-15 15:22:43 +03:00
Evgeny Grin (Karlson2k)
b6737ab39b
Added check for signed socket type
2023-11-12 19:26:45 +03:00
Evgeny Grin (Karlson2k)
bcdb52984c
MHD_start_daemon(): further improved UNIX / IP socket detection
2023-11-12 18:56:20 +03:00
Evgeny Grin (Karlson2k)
c7998d3af3
Fixed ignored daemon port when MHD_OPTION_LISTEN_SOCKET or MHD_OPTION_SOCK_ADDR are used as documented
2023-11-12 18:50:22 +03:00
Evgeny Grin (Karlson2k)
75dbfbc716
Implemented and documented MHD_OPTION_LISTEN_SOCKET followed by MHD_INVALID_SOCKET
2023-11-12 11:50:30 +03:00
Evgeny Grin (Karlson2k)
a564993122
MHD_start_daemon(): added check for epoll FD to fit fd_set for external polling mode
2023-11-10 17:38:26 +03:00
Evgeny Grin (Karlson2k)
c211e198c6
MHD_start_daemon(): added stricter checks for bind() and listen() return values
2023-11-10 17:38:26 +03:00
Evgeny Grin (Karlson2k)
696e040146
MHD_D_DOES_SCKT_FIT_FDSET_(): simplified macro
2023-11-10 17:38:25 +03:00
Evgeny Grin (Karlson2k)
068f4b6b86
MHD_start_daemon(): added some asserts
2023-11-10 17:38:24 +03:00
Evgeny Grin (Karlson2k)
e47f63a37b
MHD_start_daemon(): mark listen as UNIX based on available information
2023-11-10 17:38:24 +03:00
Evgeny Grin (Karlson2k)
aec9938235
daemon.c: moved processing and checking of app-provided listen socket
2023-11-10 17:38:24 +03:00
Evgeny Grin (Karlson2k)
cfc790488d
.gitlab-ci.yml: removed "keep-going" make flag
2023-11-10 09:33:41 +03:00
Evgeny Grin (Karlson2k)
e62cd69da8
Fixed copy-paste error introduced by 2475030dcb
2023-11-09 20:08:32 +03:00
Evgeny Grin (Karlson2k)
2475030dcb
Added use of the new internal macro MHD_D_IS_USING_THREAD_PER_CONN_
2023-11-09 16:53:28 +03:00
Evgeny Grin (Karlson2k)
a0de9d3310
Added use of the new internal macro MHD_D_IS_USING_THREADS_()
...
This should reduce the binary size when compiled without threads support
2023-11-09 12:31:12 +03:00
Evgeny Grin (Karlson2k)
ede33803c6
Fixed merge conflict introduced by 32eae456fd
2023-11-08 20:32:53 +03:00
Evgeny Grin (Karlson2k)
32eae456fd
Added new function MHD_run_from_select2() with FD_SETSIZE value
...
Added wrapper macro MHD_run_from_select() to automatically use current
FD_SETSIZE value.
This should complete the support for flexible FD_SETSIZE (which is used
on most platforms with GNU/Linux as notable exception).
This also fixes potential fd_set overrun when sockets with too large
numbers are used.
2023-11-08 20:15:01 +03:00
Evgeny Grin (Karlson2k)
09b7e335d8
Added ignore of MHD_OPTION_APP_FD_SETSIZE when poll() is used
2023-11-08 20:15:01 +03:00
Evgeny Grin (Karlson2k)
dcb24300bd
Additional corrections for MHD_get_fdset2()
2023-11-08 20:15:00 +03:00
Evgeny Grin (Karlson2k)
8629a47f83
Upgraded connection: added missing check
2023-11-08 16:39:58 +03:00
Evgeny Grin (Karlson2k)
cec5aed907
mhd_itc.h: cosmetics
2023-11-08 10:28:19 +03:00
Evgeny Grin (Karlson2k)
ce1ca4cf4e
MHD_run_from_select(): reworked workaround for missing except_fd_set
...
It was not compatible with flexible FD_SETSIZE
2023-11-07 21:07:41 +03:00
Evgeny Grin (Karlson2k)
c66af7359f
daemon.c: cosmetics
2023-11-07 20:56:02 +03:00