mirror of
https://github.com/MariaDB/server.git
synced 2025-10-22 23:57:48 +02:00
![]() This commit refactors InnoDB to remove its dependency on tpool internals logic and significantly reduce platform-specific #ifdefs (HAVE_URING, _WIN32,__linux__) Key changes: - Encapsulated AIO support checks into tpool::is_aio_supported(). - Centralized Linux AIO implementation choice and fallback within tpool::create_linux_aio(), removing complex #ifdef mazes from os0file.cc. - Linux-specific AIO source files are now: - aio_libaio.cc: Exports create_libaio(). Previously, this logic was in confusingly named aio_linux.cc (confusingly since uring introduction) - aio_liburing.cc: Exports create_liburing(), and not create_linux_io() - aio_linux.cc: Exports create_linux_aio(), handles Linux AIO implementation selection and fallbacks. - Simplified/modernized CMake build using target_sources() and target_compile_definitions(), all available since CMake 2.8.12 With this change, there is no need to include ${CMAKE_SOURCE_DIR}/tpool or add TPOOL_DEFINES flags anymore, target_link_libraries(lib tpool) does all that. - LINUX_NATIVE_AIO preprocessor constant is renamed to HAVE_LIBAIO, analog to existing HAVE_URING. Ever since we got a second Linux native aio with uring implementation, this name because very confusing. |
||
---|---|---|
.. | ||
aio_libaio.cc | ||
aio_liburing.cc | ||
aio_linux.cc | ||
aio_simulated.cc | ||
aio_win.cc | ||
CMakeLists.txt | ||
task.cc | ||
task_group.cc | ||
tpool.h | ||
tpool_generic.cc | ||
tpool_structs.h | ||
tpool_win.cc | ||
wait_notification.cc |