Andrey Semashev
daa782cd92
Fix compilation error on MinGW.
...
MinGW has nonstandard definition of PSECURITY_DESCRIPTOR, which requires
a cast when calling WinAPI functions InitializeSecurityDescriptor and
SetSecurityDescriptorDacl. This is done by Boost.WinAPI wrapper functions.
Fixes https://github.com/boostorg/interprocess/issues/118 .
2020-06-07 19:00:01 +03: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
037c2dfe5e
- Use Boost Winapi as much as possible (let's see if this fixes #105 )
...
- Disable buggy and old BOOST_INTERPROCESS_BOOTSTAMP_IS_LASTBOOTUPTIME method.
2020-06-03 00:56:47 +02:00
Ion Gaztañaga
c87039b6c4
Fixes issue #89 ("priv_size_from_mapping_size() calculates wrong value")
2020-06-03 00:39:05 +02:00
Ion Gaztañaga
1fc321f31b
Refactor winapi wait on single object to only have a single function depending on date_time's ptime.
2020-06-02 14:51:43 +02:00
Ion Gaztañaga
30d5005ac6
Use is_pos_infinity() instead of pos_inf due to some old MinGW compilers ICEing on the conversion from the special value to ptime
2020-06-02 14:51:08 +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
4c6bacb0f7
Add sanity checks to segment_mananger's constructor
2020-06-02 13:13:48 +02:00
Ion Gaztañaga
b4301c30c5
Add alignment check when constructing the segment_manager
2020-05-25 21:36:09 +02:00
Eugene Zelenko
d9f81ad77e
Use BOOST_OVERRIDE to fix GCC -Wsuggest-override and Clang-tidy modernize-use-override warnings.
...
Also fix Clang-tidy modernize-deprecated-headers and modernize-use-bool-literals warnings.
Alphabetical order of STL headers.
2020-05-23 17:11:13 -07:00
Ion Gaztañaga
4a57769910
- Fixes #85 ("warning: Implicit conversion loses integer precision")
...
- Fixes #86 ("warning: Possible misuse of comma operator")
2019-05-11 19:29:38 +02:00
Ion Gaztañaga
4744b9a24e
Fixes #80 ("realloc in interprocess's c_heap_deleter can leak memory")
2019-03-13 22:54:33 +01:00
Ion Gaztañaga
5476d6ec56
Merge branch 'develop' of https://github.com/Vizor/interprocess into Vizor-develop
2019-02-28 16:07:46 +01:00
Marcel Raad
61bed1fd31
Fix -Wextra-semi clang warnings
...
Remove superfluous semicola.
2019-02-25 10:51:45 +01:00
Vizor
6483b1ced5
Fixed undeclared winapi_wrapper_timed_wait_for_single_object()
...
Declaration of winapi_wrapper_timed_wait_for_single_object() placed above usage of this function.
2019-01-22 15:16:09 +01:00
Edward Diener
2fff651f25
Remove executable permission.
2018-12-03 08:03:20 -05:00
KhabarlakKonstantin
296d03858c
Fix deadlock in named_condition::notify
...
Avoid deadlock in named_condition::notify when
BOOST_INTERPROCESS_ENABLE_TIMEOUT_WHEN_LOCKING is defined
2018-11-28 13:44:20 +02:00
Ion Gaztañaga
4e2c06b242
Fix Issue #64 ("UBSan: runtime error: load of value 4294967295 [...] for type 'boost::interprocess::mode_t')
2018-11-17 00:23:15 +01:00
Romain Geissler
1b3dcf9814
Prepare for C++20 and remove "throw()" usage.
2018-11-11 22:33:50 +00:00
Ion Gaztañaga
c84c0dd217
Merge branch 'develop' of https://github.com/shayosler/interprocess into shayosler-develop
2018-10-04 22:58:55 +02:00
Ion Gaztañaga
8b36213530
Closes issue #61
2018-09-18 21:28:27 +02:00
Ion Gaztañaga
ce9b61dbe1
Fixes issue #60
2018-09-18 19:18:36 +02:00
Shay Osler
a3e77dee06
implement named condition any using shared memory
2018-09-12 10:48:32 -04:00
Ion Gaztañaga
818ef814e9
Fixes GitHub Issue #59 : "warning: ISO C++ prohibits anonymous structs [-Wpedantic]"
2018-08-13 17:48:12 +02:00
Ion Gaztañaga
14bc86a0c6
Remove NtSetTimerResolution as it's not used.
2018-04-29 12:52:39 +02:00
Ion Gaztañaga
911c79e5b5
GitHub Issue #53 : "Crash waiting on condition variable from multiple processes in do_wait()".
...
Disables Posix process-shared support for Apple as it's still buggy, as shown in: https://stackoverflow.com/questions/35305291/boost-interprocess-condition-multiple-threads-calling-wait-fails
2018-04-29 12:51:06 +02:00
Ion Gaztañaga
65ab92b06f
Update adaptive pool usage to breaking changes in Boost.Container.
...
Added invariant checking for tests
2018-04-29 12:45:32 +02:00
Ion Gaztañaga
1baf757d9f
Fixed GitHub Issue #54 : "fill_system_message() ignores an error returned by winapi::format_message()"
2018-04-29 12:43:16 +02:00
Vizor
8b610e7c0a
United handling of wait_for_single_object
...
United handling of wait_for_single_object (WaitForSingleObject).
2018-03-08 15:53:53 +01:00
Orgad Shaneh
10463d65ce
Win32: Fix read of reg_expand_sz type
2018-02-19 10:23:01 +02:00
Brian Kuhl
51da4ae0de
Update VxWorks support
...
- add CPU count
- provide OS specific atomics (when none with compiler)
- don't use XSI
2018-01-12 00:58:04 -05:00
Ion Gaztañaga
85a85778e2
- Update changelog to Pull #45
...
- Cleanup in shared_ptr_test and named_proxy
- Reuse Boost.Container transform_iterator instead of using own.
2017-12-08 10:47:51 +01:00
Ion Gaztañaga
73bc2b87c4
Update intrusive_ptr move semantics to support Boost.Move.
2017-12-08 10:38:55 +01:00
Sebastian Theophil
24a2d2bc25
Make intrusive_ptr move constructible/assignable and make its methods noexcept
2017-12-04 17:38:50 +01:00
Ion Gaztañaga
b3f9a58079
Update to new dtl namespace in boost::container.
2017-11-07 00:52:46 +01:00
Ion Gaztañaga
799356d975
Fixes #41 : Data race in boost::interprocess::rbtree_best_fit
2017-10-26 22:17:20 +02:00
Edward Diener
6f6432ab72
Removed executable attribute for files.
2017-09-17 12:36:23 -04:00
Daniela Engert
08b25cdcdb
Conditionally replace deprecated/removed std::auto_ptr by std::unique_ptr.
...
Inline typedefs from deprecated/removed C++98 function adapters.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-05-12 08:30:54 +02:00
Ion Gaztañaga
eedc9b0a4e
New experimental option BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASED for windows systems.
2017-02-12 21:33:16 +01:00
Ion Gaztañaga
e9251cd22a
Check MacOs first, as macOS 10.12 SDK defines both CLOCK_MONOTONIC and CLOCK_MONOTONIC_RAW and no clock_gettime
2017-02-06 14:11:45 +01:00
Ion Gaztañaga
b3dd777e5c
Fixes ticket #12744 ("winapi::set_timer_resolution inadvertently changes timer resolution (Windows)")
2017-01-20 00:49:48 +01:00
Ion Gaztañaga
d9788306ca
Merge branch 'explicit_ctor_and_32_64_sharing' of https://github.com/think-cell/interprocess into think-cell-explicit_ctor_and_32_64_sharing
2017-01-19 23:28:05 +01:00
Tobias Reh
f78a2e2ffd
Restore possibility to communicate between 32 and 64 bit processes using 64 bit offsets
...
If the pointed adress is 128 bytes lower than 'this', we have
(a) 32bit uintptr_t, 32bit OffsetType: offset = 0x ffffff80
(b) 64bit uintptr_t, 64bit OffsetType: offset = 0xffffffffffffff80
(c) 32bit uintptr_t, 64bit OffsetType: offset = 0x00000000ffffff80
If we read (c) from an 64bit process, it gets interpreted
as 4294967232 bytes forward rather than 128 bytes backward.
This commit solves the problem by ajusting the offset representation of (c)
to match (b).
For the 32bit process itself (c) this makes no difference, as the most
significant 4 bytes get truncated anyway when convertig to a pointer.
Note: For the default OffsetType=uintptr_t this change is only
syntactical.
2017-01-16 11:09:15 +01:00
Tobias Reh
892e541c17
Enable explicit construction of offset_ptr<Derived> from offset_ptr<Base>
...
With 'enable_if<!is_convertible && is_constructible>' and 'explicit',
care is taken to behave just as 'normal' pointers.
2017-01-16 11:09:14 +01:00
Tobias Reh
46a136479d
Conform to std::pointer_traits requirements
...
offset_ptr<T, ...>::rebind<U> must be offset_ptr<U, ...> directly
to avoid breaking older pointer_traits implementations (like in Visual Studio 2015),
'other' is added as typedef so offset_ptr<T, ...>::rebind<U>::other still works
2017-01-13 16:04:49 +01:00
Ion Gaztañaga
469f38d553
Added test case for BOOST_INTERPROCESS_SHARED_DIR_FUNC
2017-01-12 15:00:10 +01:00
Ion Gaztañaga
5184945ba6
Remove duplicated namespace declaration
2017-01-12 09:12:12 +01:00
Ion Gaztañaga
68088a469a
Add #error if both BOOST_INTERPROCESS_SHARED_DIR_FUNC and BOOST_INTERPROCESS_SHARED_DIR_PATH are defined.
2016-11-13 19:15:04 +01:00
Ion Gaztañaga
dd41f0ba71
Merge branch 'develop' of https://github.com/stheophil/interprocess into stheophil-develop
2016-11-13 17:50:09 +01:00
Ion Gaztañaga
90e39b62bc
Merge branch 'develop' of https://github.com/justinbrewer/interprocess into justinbrewer-develop
2016-11-13 00:42:07 +01:00