2
0
mirror of https://github.com/boostorg/log.git synced 2026-02-02 21:02:19 +00:00
Commit Graph

473 Commits

Author SHA1 Message Date
Andrey Semashev
95704fccca Added memory fences to guarantee that the thread-specific data is properly visible to other threads. 2016-04-14 19:32:04 +03:00
Andrey Semashev
5da7f8cf55 Added a test for from_native. 2016-04-14 19:32:04 +03:00
Andrey Semashev
5b9bf9d9e0 Cosmetic changes. 2016-04-14 19:32:04 +03:00
Andrey Semashev
063539ece8 Corrected a typo in the comment. 2016-04-14 19:32:04 +03:00
Andrey Semashev
51af4eeae9 Fixes for Windows. 2016-04-14 19:32:04 +03:00
Andrey Semashev
05826649a0 Extracted platform-specific logic regarding interprocess object names to a separate object_name wrapper. Use this wrapper wherever interprocess queue name was used. Added a test for the wrapper. Extracted auto_handle to a separate header. 2016-04-14 19:32:04 +03:00
Andrey Semashev
1852ded16f Updated IPC examples to be compatible with the actual implementation. 2016-04-14 19:32:04 +03:00
Andrey Semashev
48079e0fcb Renamed stop() and reset() to stop_local() and reset_local() to emphasize that the methods operate only on the local queue object. Added proper documentation for the class. 2016-04-14 19:32:04 +03:00
Andrey Semashev
7a32451110 Added parametrized constructors to forward named parameters to the queue constructor. 2016-04-14 19:32:04 +03:00
Andrey Semashev
e0e0945d58 Restrict generated parametrized constructors to named parameters only. Document these constructors. 2016-04-14 19:32:04 +03:00
Andrey Semashev
c42efa2808 Updated copyright. 2016-04-14 19:32:04 +03:00
Andrey Semashev
3c817d0acf Updated copyright. 2016-04-14 19:32:04 +03:00
Andrey Semashev
49ae0068c1 Added support for named arguments in the interprocess queue construction. Revised SFINAE usages. 2016-04-14 19:32:04 +03:00
Andrey Semashev
96407384c4 Fixed an exception when checking if the semaphore counter is zero. Moved UTF conversion function to code_conversion.cpp. Moved access permission constants to Boost.WinAPI. 2016-04-14 19:32:04 +03:00
Andrey Semashev
d8a0fca2e9 Silenced a warning about narrowing conversion. 2016-04-14 19:32:04 +03:00
Andrey Semashev
d5b4dbb357 Added a workaround for a linking problem with older MSVC. 2016-04-14 19:32:04 +03:00
Andrey Semashev
65076ea6e8 Fixed compilation on MSVC-8. 2016-04-14 19:32:03 +03:00
Andrey Semashev
30e8ef0a92 Fixed incorrect assert. 2016-04-14 19:32:03 +03:00
Andrey Semashev
89d56bc12a Compilation fixes on Windows. 2016-04-14 19:32:03 +03:00
Andrey Semashev
09ea7f70d7 Working on the Windows implementation of reliable interprocess queue. Removed unused keywords. Ported to Boost.Align implementation of size alignment function. 2016-04-14 19:32:03 +03:00
Andrey Semashev
e5d5c66683 Changed the AVX2 flag for Intel compilers to -xCORE-AVX2. This flag is said to be supported since Intel Compiler 13 and is supposed to be better than -march=core-avx2 since it does not set the target architecture, which may be set by the user. 2016-04-14 19:32:03 +03:00
Andrey Semashev
24c70e7f29 Cleaned up the Jamfile and added a config macro for disabling IPC queues. Removed -march compiler flags where possible as they may override the user's choice. Removed the log-api feature as it no longer makes sense (the library is configured by enabling/disabling the particular sinks). Some renaming and cleanup. 2016-04-14 19:32:03 +03:00
Andrey Semashev
e38b4fe87d Moved platform-specific and setup library sources to different directories. 2016-04-14 19:32:03 +03:00
Andrey Semashev
b58d9707b3 Worker on the Windows version of the reliable interprocess queue. 2016-04-14 19:32:03 +03:00
Andrey Semashev
9799bb7621 Completed semaphore-based condition variable, started reliable interprocess queue rewrite for Windows. Added comments. 2016-04-14 19:32:03 +03:00
Andrey Semashev
e17849ed08 Modified AVX2 detection so that it is more portable on Windows. 2016-04-14 19:32:03 +03:00
Andrey Semashev
72a85f2861 Updated WinAPI includes. 2016-04-14 19:32:03 +03:00
Andrey Semashev
eafb7fd4d0 Extracted event implementation to a separate class. Working on condition variable implementation. 2016-04-14 19:32:03 +03:00
Andrey Semashev
ad7ced1485 Working on Windows interprocess synchronization primitives. 2016-04-14 19:32:03 +03:00
Andrey Semashev
82f240fded Extracted common tools for IPC queues to separate headers. Added overloads of receive functions for arrays. Changed return value of remove() to void and added comments about implementation. Started working on Windows implementation. 2016-04-14 19:32:03 +03:00
Andrey Semashev
6999c02a96 Reverted interprocess mutex to normal. 2016-04-14 19:32:03 +03:00
Andrey Semashev
1aacc3e746 Fixed bugs, updated tests. 2016-04-14 19:32:03 +03:00
Andrey Semashev
2ad2ad2520 Added a check for throwing an exception on queue overflow. 2016-04-14 19:32:03 +03:00
Andrey Semashev
f47a77ab9b Reworked reliable message queue test. 2016-04-14 19:32:03 +03:00
Andrey Semashev
b38f3b915a Working on separating tests for the IPC sink backend and message queue. 2016-04-14 19:32:03 +03:00
Andrey Semashev
2a19a66559 Renamed sink_ipc_backend.cpp -> sink_text_ipc_mq_backend.cpp. Working on separating tests for the IPC sink backend and message queue. 2016-04-14 19:32:03 +03:00
Andrey Semashev
fced50d4e0 Added mixing the queue type FOURCC to the ABI tag. 2016-04-14 19:32:03 +03:00
Andrey Semashev
0e2965b4ee More robust conversions if pthread_key_t is a signed integer. 2016-04-14 19:32:03 +03:00
Andrey Semashev
bcc1e533e1 Removed unnecessary virtual destructor for logger_holder_base.
Also added a forwarding constructor to logger_holder to move the logger
instead of copying it.
2016-04-14 19:32:03 +03:00
Andrey Semashev
f596af6e01 Added remove method to the interprocess message queue. 2016-04-14 19:32:03 +03:00
Andrey Semashev
48721d0dc0 Added exception throw methods that take C-style strings for messages.
This results in mode compact code at throw sites as often the exception
is thrown with a constant string literal as the description. std::string
construction was effectively duplicated at every throw site.

Also added constructors taking const char* to bad_alloc-derived
exceptions to remove one std::string allocation.
2016-04-14 19:32:03 +03:00
Andrey Semashev
b909c5bdb3 Added a slightly more optimal implementation for the case when pthread_key_t is an integer, like on Linux. 2016-04-14 19:32:03 +03:00
Andrey Semashev
83e7e33646 Removed union-based type punning. Added result checks for pthread_setspecific. 2016-04-14 19:32:03 +03:00
Andrey Semashev
b284e68200 Moved queue overflow policy handling to the IPC queue. Compilation fixes. 2016-04-14 19:32:03 +03:00
Andrey Semashev
60c33d501e Implemented receiving messages. Working on the updated sink backend interface. 2016-04-14 19:32:03 +03:00
Andrey Semashev
9fb7b75415 Implemented interprocess queue creation and opening. 2016-04-14 19:32:03 +03:00
Andrey Semashev
25c96d32df Added a boostdoc target to unify Boost release docs building. 2016-04-14 19:32:03 +03:00
Andrey Semashev
84b45f78a6 Continuing renaming files. 2016-04-14 19:32:03 +03:00
Andrey Semashev
c072158b44 Moved interprocess_message_queue.hpp -> ipc/reliable_message_queue.hpp. 2016-04-14 19:32:03 +03:00
Andrey Semashev
51da22b2e6 Extracted open_mode and permissions to separate headers. 2016-04-14 19:32:03 +03:00