Ion Gaztañaga
41018201d6
Fixes #174 ("shared_memory_object constructor may fail on macOS")
2022-07-17 00:28:23 +02:00
Ion Gaztañaga
a5fcf817ab
Fixes #181 ("clang-8 warning: result of comparison of constant 'K' with expression of type 'std::size_t' (...) is always false")
2022-07-16 22:28:50 +02:00
lior izrael
f1ecdcf789
remove redundent assertion alignment check to avoid exiting the function without releasing scoped mutex
2022-06-13 15:49:05 +03:00
Ion Gaztañaga
c4a046793e
Fixes #166 ("Bad error handling in shared_memory_object::truncate")
2022-03-07 13:55:01 +01:00
Yohann Bénédic
7c736150fb
Fixing windows_shared_memory::get_name()
...
Instead of returning a null pointer, `get_name()` either returns the expected value in case a narrow filename was provided or an empty string otherwise.
2022-02-28 12:55:43 +01:00
Ion Gaztañaga
245f97fc02
Increase minimum version for forceinline usage in MSVC as bad code generation was detected in some cases
2022-01-04 00:24:44 +01:00
Ion Gaztañaga
00b66938e8
Activate BOOST_MOVE_FORCEINLINE with GCC > 5, since some code generation problems were detected in tests executed under MingW.
2022-01-02 00:27:51 +01:00
Ion Gaztañaga
3992b523d0
Simplify rbtree insertion/deletions as there were some unhandled corner cases and it's not performance sensitive code
2021-12-31 13:32:42 +01:00
Ion Gaztañaga
e147018ba9
Silence false positive warning in very few GCC versions, only in release -O3 (as offset_ptr is always initialized in all constructors)
2021-12-31 13:31:46 +01:00
Ion Gaztañaga
a3c27fff1f
Fix potential out of bounds write warning for GCC
2021-12-30 12:51:04 +01:00
Ion Gaztañaga
d8ae15ec2d
Fix -Wshadow warnings
2021-12-30 12:50:04 +01:00
Ion Gaztañaga
8322bae2f6
Remove GCC's -Wcast-align=strict warnings
2021-12-28 17:11:05 +01:00
Ion Gaztañaga
2e6b8c0d9d
Fix -Wshadow warning
2021-12-27 14:41:30 +01:00
Ion Gaztañaga
55ad499dc4
Fixes #160 ("More GCC suggest-override warnings").
2021-12-27 00:26:54 +01:00
Leonardo Neumann
de657e0163
Fix missing sys/stat.h include on musl-based systems
...
Boost 1.78.0 fails to build on musl-based systems because musl does
not include sys/stat.h by default.
Fixes #161 ("Boost compiler error")
2021-12-13 01:10:46 -03:00
Ion Gaztañaga
85786848f0
Separate a special function for creating shared folders as permissions and logic is different from normal folder open/create logic in Unix
2021-11-09 00:54:26 +01:00
Ion Gaztañaga
aea16e77c8
Correct mode_t constant, it should be octal.
2021-11-08 08:38:01 +01:00
Ion Gaztañaga
8f1dbc7d01
Merge pull request #158 from Helflym/develop
...
atomic.hpp: adapt headers to AIX assembler
2021-11-07 21:27:45 +01:00
Ion Gaztañaga
7a743c6853
Fixes #157 ("Set sticky bit on shared interprocess folder")
2021-11-07 21:11:40 +01:00
Clément Chigot
930cd23f55
atomic.hpp: adapt headers to AIX assembler
...
AIX assembler doesn't allow "bne- 1b" or "bne- 1f" symtax to jump to a
given label. It must be replaced by "bne- $N", N being the memory
offset between the current instruction and the targeted label.
2021-10-28 16:16:06 +02:00
Ion Gaztañaga
efc75031f5
Support Clang's -Wconversion -Wfloat-conversion -Wsign-conversion with -Werror
2021-10-20 00:18:59 +02:00
Ion Gaztañaga
3b5da7b0c1
Support GCC's -Wconversion -Wfloat-conversion -Warith-conversion -Wsign-conversion warnings.
2021-10-16 17:46:01 +02:00
Ion Gaztañaga
8fd6261f62
Support C++20 allocator<void>, which might not have "::pointer" type
2021-09-24 22:17:35 +02:00
Ion Gaztañaga
af0c934000
Fixes #154 ("shared_memory_object::truncate() fails on AIX")
2021-09-24 19:04:28 +02:00
Antony Polukhin
122f69aa00
properly initilize enable_shared_from_this if the type is const
2021-09-24 14:26:24 +03:00
Ion Gaztañaga
e4259fe168
Timeout support for managed memory segments. Adding BOOST_INTERPROCESS_MANAGED_OPEN_OR_CREATE_INITIALIZE_MAX_TRIES/BOOST_INTERPROCESS_MANAGED_OPEN_OR_CREATE_INITIALIZE_TIMEOUT_SEC configurable parameters.
...
Fixes #128 ("Infinite loop in managed_open_or_create_impl.hpp")
Fixes #130 ("infinite loop in managed_open_or_create_impl.hpp if filesize is 0")
2021-08-24 14:57:59 +02:00
Ion Gaztañaga
4f0b3c2c93
Fixes #103 ("Use interprocess headers without exception handling")
2021-08-23 13:32:08 +02:00
Ion Gaztañaga
7c8893788d
Fixes #65 ("Robustness of the interprocess mutex") and fixes #67 ("Changed to use posix robust mutex").
2021-08-22 00:31:16 +02:00
Ion Gaztañaga
512f95cb07
Implements standard C++ mutex/condition variable requirements for Interprocess utilities.
...
Fixes #149 ("interprocess_condition_any::timed_wait update")
2021-08-19 00:38:24 +02:00
Ion Gaztañaga
9ac7eb3d84
Fixes #145 ("1.76 now requires unicode paths on windows")
2021-08-12 01:41:26 +02:00
Ion Gaztañaga
c3dee08950
Fixes #50 ("64-byte alignment causes assertion in rbtree_best_fit")
2021-05-11 14:48:49 +02:00
Ion Gaztañaga
0fcdbc4083
Interprocess no longer depends on Boost.DateTime. Instead, all timed functions were templated to take a TimePoint. This time point can be boost::date_time::ptime, std::time_point or boost::chrono::time_point.
2021-04-13 15:18:23 +02:00
Ion Gaztañaga
3a856a0343
"robust_emulation_helpers::mutex_traits" forward declaration should be present when spin_recursive_mutex is used.
2021-03-12 08:57:34 +01:00
Ion Gaztañaga
dc11515620
Fix MacOS compilation error, the method to select the underlying synchronization mechanism was broken.
2021-03-11 23:12:09 +01:00
Ion Gaztañaga
ece73cef73
Fixes #120 ("segment_manager customization")
2021-02-21 00:15:21 +01:00
Ion Gaztañaga
cb30bb5f67
Closes #115
2021-02-19 00:33:16 +01:00
Ion Gaztañaga
3851b2c785
Add BOOST_NOEXCEPT to sync utilities
2021-02-16 00:18:44 +01:00
Ion Gaztañaga
75ecc955d3
Fixes #122 ("Mark constructors/assignment/swap noexcept where possible")
2021-02-16 00:01:04 +01:00
Ion Gaztañaga
9f40b16e9c
- Alignment passed "to managed_open_or_create_impl" shall be the strictest between alignof(segment_manager) and the alignment of the embedded memory algorithm so that both the segment_manager and the allocated blocks are properly aligned.
2021-02-15 16:03:27 +01:00
Ion Gaztañaga
f85d2cb99c
Make priv_end_block() more consistent with priv_add_segment() avoid false positives in assertions.
2021-02-15 10:18:08 +01:00
Ion Gaztañaga
6b61f9d990
Fixes #83 ("Add BOOST_INTERPROCESS_FORCE_NATIVE_EMULATION option")
2021-02-14 00:36:13 +01:00
Ion Gaztañaga
639afc2a59
Rename internal "windows_xxx" implementations to "winapi_xxx" implementation as public "windows_xxx" resources are native windows implementations, instead of POSIX emulations based on winapi system calls.
2021-02-13 23:27:50 +01:00
Ion Gaztañaga
74fac07b21
Fixes #126 ("_ReadWriteBarrier is deprecated warning when compiling with clang-cl.exe!) disabling deprecation warning on BOOST_INTERPROCESS_READ_WRITE_BARRIER
2021-02-12 19:21:07 +01:00
Ion Gaztañaga
00b85dff97
Fixes #138 .
2021-02-12 00:12:02 +01:00
Ion Gaztañaga
86464712c2
- As suggested in the report, windows_semaphore implementation stores the initial count to be able to use it when there is need to recreate the winapi semaphore structure. Fixes #123 .
...
- Tests are also improved in Windows to test both the generic implementation and the alternative windows implementation.
2021-02-11 12:59:40 +01:00
Ion Gaztañaga
705a51f649
Removed _beginthreadex usage. Fixes #76 .
2021-02-10 22:28:45 +01:00
Ion Gaztañaga
87379be15f
Fixes #106 (Use fallocate on truncate_file)
2021-02-03 09:15:40 +01:00
Ion Gaztañaga
561e9e80b5
Merge branch 'patch-1' of https://github.com/decent-dcore/interprocess into decent-dcore-patch-1
2021-02-02 15:15:12 +01:00
Ion Gaztañaga
4a93e3e246
Merge branch 'develop' into develop
2021-02-02 15:07:40 +01:00
Ion Gaztañaga
140b50efb3
Added support for wide characters when creating named resources in operating systems with wide-char APIs (at this time, Windows).
...
Fixes #93 and fixes #134 .
2021-01-31 00:27:15 +01:00