Commit Graph
5708 Commits
Author SHA1 Message Date
Evgeny Grin (Karlson2k) 3a65ef3fca mhd_sys_options: alternative compiler trick 2024-11-19 10:52:15 +03:00
Evgeny Grin (Karlson2k) 77e6c70f3e Added basis for TLS infrastructure, implemented GnuTLS global initialisation 2024-11-19 10:52:15 +03:00
Evgeny Grin (Karlson2k) 43b21403d8 Makefile: do not distribute mhd_config.h 2024-11-18 17:17:54 +03:00
Evgeny Grin (Karlson2k) 4b50c448a9 sys_w32_ver.h: new helper macro for W32 2024-11-18 17:17:54 +03:00
Evgeny Grin (Karlson2k) c900c14fde configure: updated GnuTLS detection, rejected too old GnuTLS versions
Can be backported
2024-11-18 17:17:54 +03:00
Evgeny Grin (Karlson2k) 375f6ba965 W32: disabled unwanted callbacks for thread attach/detach
Used if MHD is compiled as DLL with DLL runtime C library
2024-11-18 17:17:53 +03:00
Evgeny Grin (Karlson2k) 5bdda4bcc3 Completely re-written start-up library initialisation
Global library initialisation/deinitialisation is know source for
various hard-to-debug problems.
In complex environments any function called during startup may lead to
failure or even deadlock if called function depends on other resources
that are not yet initialised or cannot be initialised yet.
Accordingly, any function called during shutdown may lead to other
problems as well if it depends on resources that has been initialised
earlier.

To avoid problems with initialisation/de-initialisation, MHD now uses
only minimal initialisation during startup (mainly a single mutex) and
full initialisation of the library when the first daemon is created.
When the last daemon is shutting down, global library de-initialization
is performed.

This approach gives a very clear way for correct start-up and shut down
procedures.
2024-11-18 17:17:52 +03:00
Evgeny Grin (Karlson2k) 7c5132a528 mhd_mono_clock: added re-init function 2024-10-30 11:44:00 +01:00
Evgeny Grin (Karlson2k) c4877a91f7 Implemented support for mach_*_time() functions (Darwin)
Can be backported
2024-10-30 11:44:00 +01:00
Evgeny Grin (Karlson2k) 3fa2db6ce4 mhd_mono_clock: streamlined code 2024-10-30 11:44:00 +01:00
Evgeny Grin (Karlson2k) 2492ef7bc1 mhd_mono_clock: improved fallback resiliency and accuracy 2024-10-30 11:43:59 +01:00
Evgeny Grin (Karlson2k) b228a53bab mhd_mono_clock: improved calculation accuracy on W32 2024-10-30 11:43:59 +01:00
Evgeny Grin (Karlson2k) c03caf4acd mhd_mono_clock: simplified code 2024-10-30 11:43:59 +01:00
Evgeny Grin (Karlson2k) 5482e206ad mhd_mono_clock: re-structured Darwin initialisation, improved readability 2024-10-30 11:43:58 +01:00
Evgeny Grin (Karlson2k) 4204708345 mhd_mono_clock: added news IDs, fixed comments, minor readability fixes 2024-10-30 11:43:58 +01:00
Evgeny Grin (Karlson2k) c47d50e787 mhd_mono_clock: updated code style 2024-10-30 11:43:58 +01:00
Evgeny Grin (Karlson2k) b8b168e48b Include "mhd_sys_options.h" in every file
The header must be included before any other headers.
2024-10-30 11:43:58 +01:00
Evgeny Grin (Karlson2k) bb1abbce46 mhd_itc.c: fixed missing name updated 2024-10-30 11:43:57 +01:00
Evgeny Grin (Karlson2k) 501a102f6a microhttpd2.h: updated status codes 2024-10-30 11:43:57 +01:00
Evgeny Grin (Karlson2k) a0733db598 configure: fixed TCP_NODELAY detection 2024-10-30 11:43:57 +01:00
Evgeny Grin (Karlson2k) dce84df5ee mhd_locks: updated, fixed format and missing macros 2024-10-30 11:43:57 +01:00
Evgeny Grin (Karlson2k) 2d6a514ba6 autoinit_funcs.h: improved support for Solaris compiler 2024-10-30 11:43:56 +01:00
Evgeny Grin (Karlson2k) ba7ecee306 Migrated to new API of autoinit_funcs.h 2024-10-30 11:43:56 +01:00
Evgeny Grin (Karlson2k) 0c4f15bb0c autoinit_funcs.h: significantly reworked
Widen support for compilers with function "attribute" support.
Improved W32 support.
Implemented more flexibility with more control macros for users.
Separated "namespace" by prefixing used names with 'AIF_'.
autoinit_funcs.h: significantly reworked

Widen support for compilers with function "attribute" support.
Improved W32 support.
Implemented more flexibility with more control macros for users.
Separated "namespace" by prefixing names with 'AIF_'.
2024-10-30 11:43:56 +01:00
Evgeny Grin (Karlson2k) b691b86cda mhd_lib_init{,_impl}.h: prepare for new autoinit functions macros 2024-10-22 10:57:51 +02:00
Evgeny Grin (Karlson2k) 0896ecd9bc mhd_lib_init.h: fixed building without autoinit functions 2024-10-22 10:57:51 +02:00
Evgeny Grin (Karlson2k) aecb8d7913 mhd_locks.h: minor refactoring 2024-10-22 10:57:51 +02:00
Evgeny Grin (Karlson2k) 7cc50f8b2f sys_w32_ver.h: new helper macro for W32 2024-10-22 10:57:50 +02:00
Evgeny Grin (Karlson2k) e9c0fc0bbb Renamed sockets kind macros 2024-10-07 14:25:10 +02:00
Evgeny Grin (Karlson2k) ab5ea93398 Renamed threads kind macros 2024-10-06 22:01:15 +02:00
Evgeny Grin (Karlson2k) fa1f02cedf mhd_locks: renamed some macros for uniformity and clarity 2024-10-06 21:23:57 +02:00
Christian Grothoff 055776ffe0 really fix warning properly 2024-09-30 10:58:25 +02:00
Christian Grothoff 4ff5f1f43f -fix warning 2024-09-30 10:21:31 +02:00
Evgeny Grin (Karlson2k) ef2c98fb15 test_upgrade: removed multiplier used for debugging 2024-09-30 03:54:08 +02:00
Evgeny Grin (Karlson2k) c2c7123825 Renamed public upgraded handle type 2024-09-30 03:49:10 +02:00
Evgeny Grin (Karlson2k) a6ae3ea366 Renamed upgrade_net.c -> upgraded_net.c 2024-09-30 03:40:35 +02:00
Evgeny Grin (Karlson2k) efd3856cf4 upgrade_net: fixed uninitialised variable 2024-09-30 03:38:12 +02:00
Evgeny Grin (Karlson2k) 5dda38e084 test_upgrade: ported test to the new API 2024-09-30 03:26:16 +02:00
Evgeny Grin (Karlson2k) 8fb88663fe stream_funcs.c: refactoring 2024-09-30 03:26:16 +02:00
Evgeny Grin (Karlson2k) 7889ab0ec1 mhd_sockets_macros.h: added more macros, useful for test-suite 2024-09-30 03:21:13 +02:00
Evgeny Grin (Karlson2k) d0c60a86f9 MHD_upgraded_send(): removed impossible path 2024-09-30 02:09:23 +02:00
Evgeny Grin (Karlson2k) 4ff351438e MHD_upgraded_send(): do not wait for socket readyness if all data have been sent 2024-09-30 02:08:18 +02:00
Evgeny Grin (Karlson2k) d639fbb5a9 upgrade_net: do not check for network error if select() or poll() succeeded 2024-09-30 02:06:22 +02:00
Evgeny Grin (Karlson2k) 9296809662 upgrade_proc: fixed assert 2024-09-30 02:01:11 +02:00
Evgeny Grin (Karlson2k) 2eb36e7375 conn_data_send.c: added handling of the new state for Upgrading 2024-09-30 02:00:48 +02:00
Evgeny Grin (Karlson2k) aa17193bca conn_data_send.c: refactored to make sure than new states are not missed 2024-09-30 01:59:44 +02:00
Evgeny Grin (Karlson2k) 756f361ab0 events_process: fixed assert for poll() and upgraded or suspended connections 2024-09-30 01:56:38 +02:00
Evgeny Grin (Karlson2k) 45b97f10a7 microhttpd2.h: added attributes for callback for upgrading 2024-09-30 01:55:34 +02:00
Evgeny Grin (Karlson2k) be6292eb0c MHD_upgraded_send(): corrected public API doxy 2024-09-29 17:59:34 +02:00
Evgeny Grin (Karlson2k) 2cbfbae808 MHD_upgraded_send(): do not retry with sending if timeout is precisely expired 2024-09-29 17:57:39 +02:00