259 Commits

Author SHA1 Message Date
Rene Rivera
70dc8a79fe Sync from upstream. 2024-08-03 18:17:40 -05:00
Ion Gaztañaga
39aed2f41b offset_ptr improvements:
- Use simplier traits to reduce dependencies and add support for nullptr
- Add tests cover construction/assignment from literal zero and nullptr
2024-08-03 23:14:36 +02:00
Ion Gaztañaga
f296b017df Boost.Chrono requires now C++11 but is not tested on GCC older than 4.8 which has no enough C++11 features to suppor it. Detect and avoid using Chrono in tests in those cases 2024-08-03 22:49:59 +02:00
Ion Gaztañaga
b7efa4bbaf Add missing newline at end. 2024-08-03 22:48:25 +02:00
Ion Gaztañaga
dc504fa3e1 Remove unneeded <boost/static_assert.hpp> include 2024-08-03 22:48:11 +02:00
Ion Gaztañaga
4a011349db Test files: Replace BOOST_TRY/CATCH family macros with BOOST_INTERPROCESS_TRY/CATCH 2024-08-03 22:47:34 +02:00
Rene Rivera
de388cff30 Update build deps. 2024-08-03 15:44:12 -05:00
Rene Rivera
2c5945d272 Change all <source> references to <library>. 2024-07-20 19:39:54 -05:00
Rene Rivera
7bd6727bfc Make the library modular usable. 2024-03-11 08:38:16 -05:00
Ion Gaztañaga
8e4caa9fca Add timed_utils header and refactor all dependent header to use the new header 2024-02-27 00:13:47 +01:00
Ion Gaztañaga
b12499e3fb Add missing <typeinfo> header 2024-02-27 00:12:47 +01:00
Ion Gaztañaga
6fedc42999 Use clock::time_point instead of the templated timepoint when obtaining current time to get maximum precission. 2024-01-14 20:33:13 +01:00
Ion Gaztañaga
747ab51363 Revert BaseTime reduction as GH runners can receive low CPU 2024-01-14 18:05:11 +01:00
Ion Gaztañaga
efb6c36567 Add random id to process id to avoid potential conflicts when testing in parallel in containers 2024-01-14 00:19:09 +01:00
Ion Gaztañaga
ea5b744e13 Fix unused index warning 2024-01-14 00:17:54 +01:00
Ion Gaztañaga
ca67d5b2f6 Fix conversion warning when initializing xsi_key 2024-01-14 00:17:35 +01:00
Ion Gaztañaga
0614661236 Add random timestamp-based id for xsi_key 2024-01-12 22:00:16 +01:00
Ion Gaztañaga
4465a67550 Reduce XSI shm memory size 2024-01-12 18:26:00 +01:00
Ion Gaztañaga
4973cb0959 Increase time to avoid timing errors in VM/Docker regression tests 2024-01-12 18:15:01 +01:00
Ion Gaztañaga
9d8c6b7a8a Add more traces to catch CI errors 2024-01-12 15:33:27 +01:00
Ion Gaztañaga
48e201a9c9 Split several sync utility tests to improve parallelization. Windows:
* Spin and Shm based utilities will be tested independently.
* Includes some refactoring to avoid copy-pasting some code in several similar synchronization primitive tests.
2024-01-12 13:46:53 +01:00
Ion Gaztañaga
b01a6bc291 Reduce BaseMs from 400ms to 100m to speed up tests. 2024-01-12 13:37:04 +01:00
Ion Gaztañaga
04fa948217 Add missing change from timer fixses 2024-01-09 01:07:49 +01:00
Ion Gaztañaga
6b498b9b44 Add missing return 2024-01-09 00:53:40 +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
f91e0e792f Output wrong InstanceCounter value on error to better diagnose errors in the test. Clang-win seems to produce correct code in more cases when adding those outputs (compiler bug?). 2024-01-06 02:31:27 +01:00
Ion Gaztañaga
0191a31e21 Increase shared memory size for container tests 2024-01-06 01:17:51 +01:00
Ion Gaztañaga
38a03cc08c Fix broken C+03 support 2024-01-05 13:17:32 +01:00
Ion Gaztañaga
d578251c71 Add missing <boost/static_assert.hpp> includes 2023-02-16 20:31:42 +01:00
Ion Gaztañaga
ac863fe275 Actually test returned const segment manager pointer 2023-02-01 23:16:29 +01:00
Ion Gaztañaga
c272bff939 Fixes #167 ("Invalid string stored in vector") 2022-03-06 22:40:27 +01:00
Ion Gaztañaga
16b2c1826d Fix signed to unsigned conversion warning 2022-03-06 22:38:40 +01:00
Ion Gaztañaga
6982a86d97 Initialize static variables only once in tests 2022-01-04 00:25:35 +01:00
Ion Gaztañaga
882feabac5 Remove commented code from test 2022-01-04 00:25:14 +01:00
Ion Gaztañaga
fa647e4756 Ignore some warnings as we include other libraries that might not use the same warning levels 2021-12-31 13:30:23 +01:00
Ion Gaztañaga
478b6fd2d5 Fix -Wcast-align warning 2021-12-30 12:50:35 +01:00
Ion Gaztañaga
55ad499dc4 Fixes #160 ("More GCC suggest-override warnings"). 2021-12-27 00:26:54 +01: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
7a743c6853 Fixes #157 ("Set sticky bit on shared interprocess folder") 2021-11-07 21:11:40 +01: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
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
8ec3dfb396 Remove deprecated volatile variables for inter-thread communication 2021-08-12 01:41:50 +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
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
ece73cef73 Fixes #120 ("segment_manager customization") 2021-02-21 00:15:21 +01:00