Commit Graph

540 Commits

Author SHA1 Message Date
Ion Gaztañaga
f75fd25eb3 Add wrong "static" attribute to anonymous_shared_memory, it should be "inline" 2024-07-09 22:29:44 +02:00
Ion Gaztañaga
39b26b9814 Merge pull request #202 from intuibase/allow_to_map_message_queue_in_anonymous
Allow to map message_queue in anonymous memory
2024-07-06 23:23:13 +02:00
Ion Gaztañaga
480bd01514 Merge pull request #191 from grrtrr/issue_190
vectorstream: support file sizes larger than INT_MAX
2024-07-06 22:44:52 +02:00
Ion Gaztañaga
e634913844 Merge pull request #198 from sternmull/develop
Minor fixes for documentation of offset_ptr
2024-07-06 22:37:31 +02:00
Ion Gaztañaga
929b488e6c Remove construct/destroy functions, as they are deprecated in C++ and allocator_traits is used by containers to construct objects 2024-05-17 10:20:37 +02:00
Braden Ganetsky
c75815934d Fix bug 'Run-Time Check Failure #1 - A cast to a smaller data type has caused a loss of data' 2024-05-15 22:24:17 -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
0614661236 Add random timestamp-based id for xsi_key 2024-01-12 22:00:16 +01:00
Ion Gaztañaga
0aa8b3e9ef Remove traces 2024-01-12 18:16:42 +01:00
Ion Gaztañaga
57c437897c More traces to catch xsi test errors 2024-01-12 16:58:19 +01:00
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
Pawel Filipczak
fd40397614 Allow to map message_queue in anonymous memory 2023-09-12 16:53:35 +02:00
Tilman Blumhagen
5e423004f0 Minor fixes for documentation of offset_ptr 2023-05-20 15:57:12 +02: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
Gerrit Renker
12ecde40a2 vectorstream: support file sizes larger than INT_MAX
File sizes larger than INT_MAX cause segmentation faults, due to the use
of `pbump/gbump`, which only support `int` increments.

Rewrite `int`-based offset adjustments to use streamoff offsets instead.

Fixes #190.
2023-01-09 13:55:18 -05: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