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
Andrey Semashev
096a4c22c0
Added noexcept specifiers.
2016-04-14 19:32:03 +03:00
Andrey Semashev
489ac05ddd
Extracting interprocess message queue to separate headers/sources.
2016-04-14 19:32:03 +03:00
Andrey Semashev
100388e7db
Renamed keyword permission -> permissions.
2016-04-14 19:32:03 +03:00
Andrey Semashev
2086ecb3ad
Renamed permission.hpp -> permissions.hpp.
2016-04-14 19:32:03 +03:00
Andrey Semashev
9f1978619b
Extracted permissions wrapper to a separate header. Avoid using shared_ptr on Windows and add interop with Boost.Interprocess.
2016-04-14 19:32:03 +03:00
Andrey Semashev
0cc56f385e
Trim trailing spaces.
2016-04-14 19:32:02 +03:00
Lingxi-Li
8d9002cab8
Add text_ipc_message_queue_backend
...
This new sink backend supports logging messages to an interprocess
message queue.
2016-04-14 19:32:02 +03:00
Andrey Semashev
5c5485122b
Replaced the local forward declaration with string_ref_fwd.hpp as the latter has been reinstated in develop.
2016-04-14 19:31:20 +03:00
Andrey Semashev
768ac379db
Removed the default template argument type from basic_string_ref declaration to avoid conflicts with string_ref.hpp.
2016-04-12 11:13:55 +03:00
Andrey Semashev
3d498a0100
Fixed a link to the header reference.
2016-04-04 19:35:05 +03:00
Andrey Semashev
696a0a72af
Changed the fix for Solaris to define _XOPEN_SOURCE=500. This should fix #12098 .
2016-04-01 10:56:15 +03:00
Andrey Semashev
886f0d0eb9
Attempt to work around #12098 . Solaris headers cannot be included in C++ when _XOPEN_SOURCE=600 is defined.
2016-03-26 14:18:14 +03:00
Andrey Semashev
f56bf1f510
Updated changelog.
2016-03-25 00:23:25 +03:00
Andrey Semashev
4eeadedc98
Extended the workaround for #12025 to MSVC-11 as it is reported to have the same bug.
2016-03-25 00:22:38 +03:00
Andrey Semashev
b449b30cfc
Use move constructor when initializing an attribute value from an rvalue. Fixes #12043 .
2016-03-07 19:23:10 +03:00
Andrey Semashev
4cd22e1103
Fixes #12025 . Added a workaround for MSVC-10 generating broken code for formatters in some cases.
2016-02-27 23:14:27 +03:00
Andrey Semashev
5de58e8a61
Added documentation and comments.
2016-02-25 22:07:29 +03:00
Andrey Semashev
c53fc57bff
Merge remote-tracking branch 'erichkeane/add_max_files' into develop
...
Merge pull request: https://github.com/boostorg/log/pull/24
2016-02-25 21:37:23 +03:00
Andrey Semashev
2f6facfdcd
Silenced signed/unsigned mismatch warnings.
2016-02-25 21:26:04 +03:00