Commit Graph

200 Commits

Author SHA1 Message Date
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
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
26be575e66 Fix ASAN error in vectorstream_test 2021-02-13 22:44:42 +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
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
Ion Gaztañaga
20a46fa105 Replace <boost/functional/hash.hpp> with more correct <boost/container_hash/hash.hpp> 2021-01-15 18:06:36 +01:00
Ion Gaztañaga
14c49cae6d Remove GCC 10 warning about deprecated default copy assignment. 2020-10-23 14:14:56 +02:00
Ion Gaztañaga
f2ecdc70ef Fixes #99 ("Error in win32_api.hpp"):
- Careful use of Boost.Winapi and use of SetFilePointer instead of SetFilePointerEx (which requires a _LARGE_INTEGER by value that difficults the use of windows.h in certain circustances)
- Added tests to verify windows.h inclusion without BOOST_USE_WINDOWS_H does not break things
2020-06-03 21:37:02 +02:00
Ion Gaztañaga
c718371493 Refactored "BOOST_INTERPROCESS_ENABLE_TIMEOUT_WHEN_LOCKING" logic into a single function. 2020-06-02 13:21:34 +02:00
Ion Gaztañaga
5c1fd38334 Remove config_begin/config_end include pairs in tests to better emulate what warnings users will see. 2020-05-25 12:34:23 +02:00