Commit Graph

654 Commits

Author SHA1 Message Date
Andrey Semashev
6995fd05b3 Silence MSVC warnings about truncating floating point constants. 2016-08-09 13:36:38 +03:00
Andrey Semashev
29347b2ae5 Silence MSVC warnings about truncating character bytes in UTF-8 literals. 2016-08-09 13:27:25 +03:00
Andrey Semashev
70debc533b Changed the max_size decorator so that the overflow marker length is
included into the size limit.
The max_size method on the stream buffer will now attempt to truncate
the attached string on the character boundary.
Fixed character boundary detection for multibyte encodings.
Clean up the overflow flag and the max size limit after the formatter
has completed.
Added a test for the max_size decorator.
Cleaned up some includes and reduced the dependency on Boost.Thread.
2016-08-09 04:20:49 +03:00
Andrey Semashev
aa5baeea19 Minor optimization. Avoid calling exception handler multiple times if a sink filter throws. 2016-08-08 15:14:34 +03:00
Andrey Semashev
489fd82f28 Removed unused typedef. 2016-08-08 13:35:38 +03:00
Andrey Semashev
f298f02eb5 Added a workaround for clang failing to compile the constexpr constructor even if all data members have a constexpr constructor. 2016-08-08 13:33:43 +03:00
Andrey Semashev
b6ec75d120 Added a max_size decorator for limiting the length of the string produced by the adopted formatter. Preliminary version. 2016-08-08 00:05:45 +03:00
Andrey Semashev
e830621389 Add .gitignore to avoid tracking auto-generated files. 2016-08-06 17:17:15 +03:00
Andrey Semashev
f20f7faf4b Removed unused typedefs. 2016-08-06 17:13:12 +03:00
Andrey Semashev
15ed24dd68 Revert the use of NRVO as C++03 compilers require a copy constructor in this case. 2016-08-06 17:12:58 +03:00
Andrey Semashev
7e077993da Make better use of NRVO on compilers that support it. 2016-08-06 17:02:28 +03:00
Andrey Semashev
fc398fc04d Updated example to make sure an exception is thrown. 2016-07-17 19:41:43 +03:00
Andrey Semashev
f15e9d413c Fixed #12178. Stream formatting parameters could be preserved across different log records. 2016-07-17 16:31:24 +03:00
Andrey Semashev
7624cf57b9 Added docs for reliable_message_queue. 2016-07-17 15:43:34 +03:00
Andrey Semashev
234d04b06a Added a workaround for MSVC-8. The compiler wrongly disables the initializing constructor of value_ref. 2016-07-16 18:51:33 +03:00
Andrey Semashev
570bbc271a Added shared memory segment size to the error message. 2016-07-16 16:20:25 +03:00
Andrey Semashev
3116d9ce32 Added a fallback implementation for process-shared pthread primitives if not supported natively. Should resolve runtime failures on FreeBSD. 2016-07-16 16:11:06 +03:00
Andrey Semashev
ffa9826ff2 Added workarounds for MSVC-12. The compiler would fail SFINAE or ICE in some cases when value_ref initializing constructor was used. 2016-07-13 03:47:39 +03:00
Andrey Semashev
7138345801 Added a workaround for building failure with MinGW. 2016-07-13 00:20:42 +03:00
Andrey Semashev
9727acd277 Added a missing return in check-message-compiler. 2016-07-12 22:57:50 +03:00
Andrey Semashev
6a034f77cc Added a missing include. 2016-07-12 19:58:38 +03:00
Andrey Semashev
3c92751c56 Working on documentation for IPC tools. 2016-06-05 22:28:54 +03:00
Andrey Semashev
61e9db5406 Renamed sinks_ipc_viewer.cpp to sinks_ipc_receiver.cpp. 2016-06-05 17:25:02 +03:00
Andrey Semashev
25a90aec56 Added a release note about interprocess tools. 2016-05-29 15:18:28 +03:00
Andrey Semashev
cdfc7b8dfb Changed leftover uint32_t to size_type. 2016-04-14 19:32:04 +03:00
Andrey Semashev
84d847911e Fixed incorrect return values in try_* methods. 2016-04-14 19:32:04 +03:00
Andrey Semashev
1699351a8b Use the size_type typedef in the autotest. 2016-04-14 19:32:04 +03:00
Andrey Semashev
85092ef741 Added a new queue overflow policy which allows to return an error code if the queue is full. Added a test for the new policy. Changed the interface slightly to use the common message size typedef and use this typedef to check the message size before enqueueing it. 2016-04-14 19:32:04 +03:00
Andrey Semashev
6c49eccaa2 Added another thread to the test. Just to make it more likely to detect issues. 2016-04-14 19:32:04 +03:00
Andrey Semashev
38aeadfcc1 Fixed a few bugs in interprocess condition variable on Windows which caused infinite waits in some cases. 2016-04-14 19:32:04 +03:00
Andrey Semashev
2d7494e696 Nonessental. 2016-04-14 19:32:04 +03:00
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