Ion Gaztañaga
755dcbe5ba
Fix timepoint_to_timespec bug for std/boost chrono timepoints
2024-01-12 13:36:25 +01:00
Ion Gaztañaga
bbdcf1bea4
Add assertions in thread joining functions to catch errors.
2024-01-12 13:34:56 +01:00
Ion Gaztañaga
4f78ee0cc2
Remove unneeded functions
2024-01-12 13:34:27 +01:00
Ion Gaztañaga
9eeb075089
Add a more robust nanosleep use taking EINTR into account
2024-01-09 02:04:22 +01:00
Ion Gaztañaga
f052680461
Make synchronization primitive tests more granular on timeouts, from seconds to miliseconds precission for Base Times. This should reduce CI times.
2024-01-09 00:42:22 +01:00
Ion Gaztañaga
38a03cc08c
Fix broken C+03 support
2024-01-05 13:17:32 +01:00
Ion Gaztañaga
f3de4e90e7
Merge pull request #188 from eagleoflqj/emscripten-shm
...
Fix: emscripten doesn't support shm
2023-04-24 13:00:40 +02:00
Ion Gaztañaga
b55f26b39c
Use official boost unordered_map header.
2023-04-24 12:56:06 +02:00
Ion Gaztañaga
33bc2635fd
Simplify in_place_interface and avoid aliasing in reference-passed "constructed" argument.
2023-04-20 22:18:52 +02:00
Ion Gaztañaga
bd860e1d6d
Fixes #195 ("namespace conflict on constructing objects in segment manager with named proxy in combination with boost geometry")
2023-04-20 20:30:13 +02:00
Ion Gaztañaga
2dda014685
Disable forceinline with Clang, see https://github.com/llvm/llvm-project/issues/62202
2023-04-18 22:26:28 +02:00
Ion Gaztañaga
a0c5a8ff17
Remove dead files from repo
2023-02-20 15:54:05 +01:00
Ion Gaztañaga
d578251c71
Add missing <boost/static_assert.hpp> includes
2023-02-16 20:31:42 +01:00
Qijia Liu
94ead3e59d
emscripten doesn't support shm
2022-12-24 11:29:55 -05:00
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