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
acce62f53f
Merge branch 'think-cell-explicit_ctor_and_32_64_sharing' into develop
2017-01-20 00:30:18 +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
Ion Gaztañaga
945eb1dbfb
Merge branch 'think-cell-pointer_traits' into develop
2017-01-19 23:14:04 +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
392e4ef296
Merge branch 'tabe-develop' into develop
2016-11-13 20:58:03 +01:00
Ion Gaztañaga
1dcab03953
Merge branch 'develop' of https://github.com/tabe/interprocess into tabe-develop
2016-11-13 20:57:51 +01:00
Ion Gaztañaga
16cc64be0e
Fix documentation typos.
2016-11-13 20:49:14 +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
ae60c28546
Merge branch 'stheophil-develop' into develop
2016-11-13 17:52:20 +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
247dc4f4ad
Merge branch 'justinbrewer-develop' into develop
2016-11-13 00:43:38 +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
Ion Gaztañaga
b860e7c255
Avoid GCC address sanitizer errors with incorrect vbptr in constructor
2016-11-12 23:55:57 +01:00
Ion Gaztañaga
3e216dd481
Avoid reference to null errors in sanitizers
2016-11-12 23:55:20 +01:00
Ion Gaztañaga
4f8459e868
Merge branch 'develop' of github.com:boostorg/interprocess into develop
2016-11-12 19:18:54 +01:00
Ion Gaztañaga
622bc616d3
Some old shmat implementation take the address as a non-const void pointer so uncast it to make code portable.
2016-11-12 19:18:27 +01:00
Ion Gaztañaga
3d9318aace
Disable forceinline for older compilers due to bugs
2016-11-12 19:18:02 +01:00
Justin Brewer
5d42ab216e
Add xsi_key(key_t) constructor
2016-11-05 02:14:11 -04:00
Rene Rivera
bbc0ed252a
Add, and update, documentation build targets.
2016-10-07 23:07:34 -05:00
Sebastian Theophil
6956f11392
Replaced BOOST_INTERPROCESS_TEMP_DIR_FUNC with BOOST_INTERPROCESS_SHARED_DIR_FUNC
...
- BOOST_INTERPROCESS_SHARED_DIR_FUNC has the same semantics as BOOST_INTERPROCESS_SHARED_DIR_PATH and can be used as the more flexible alternative
- Added documentation
2016-09-22 11:59:29 +02:00
Sebastian Theophil
5ab7370b53
Remove TempFile.mm
2016-09-19 16:51:49 +02:00
Sebastian Theophil
6bb41cb5f8
Use Mac Sandbox compatible temp folder
2016-09-19 15:42:32 +02:00
Ion Gaztañaga
446d4cdf37
Fix variadic indexes from int to std::size_t.
boost-1.62.0
2016-08-23 02:16:26 +02:00
Ion Gaztañaga
af07362fbd
Fix formatting in some changelog entries
2016-08-09 22:34:55 +02:00
Ion Gaztañaga
8253c1b0ad
Use boost::is_convertible instead of the old implementation, as MSVC compilers can have odd compilation errors with is_convertible.
2016-08-09 22:34:14 +02:00
Ion Gaztañaga
dc5e8f48a1
Remove signed/unsigned comparison warning.
2016-06-29 14:46:45 +02:00
Ion Gaztañaga
941d4488b8
Silence windows header warnings for old GCC compilers marking it as a system header
2016-06-29 14:46:21 +02:00
Ion Gaztañaga
2a110ca262
Update changelog with Pull #27
2016-06-29 14:45:41 +02:00
Ion Gaztañaga
c068632028
Merge branch 'stheophil-stheophil_develop' into develop
2016-06-29 14:43:57 +02:00
Sebastian Theophil
b281e9557b
Fix undefined behavior
...
managed_open_or_create_impl::priv_open_or_create calls
construct_func.get_min_size() before construct_func::operator().
The implementation of create_open_func::get_min_size called the static
function segment_manager::get_min_size() by making a member function
call on m_frontend->get_segment_manager() which is still null at this
point.
The crashes when compiling with clang’s undefined behavior sanitizer
2016-06-28 10:30:59 +02:00
Ion Gaztañaga
6fe5f1abc6
Change -pedantic warning disabling method for GCC 6, as it does not like the previous solution.
2016-06-25 11:24:38 +02:00
Takeshi Abe
971410822e
Fix typo
2016-03-22 14:41:45 +09:00
Ion Gaztañaga
71ad203b6c
Updated changelog with GitHub Pull #23
boost-1.61.0
2015-12-23 23:32:22 +01:00
Ion Gaztañaga
93cbea4df3
Merge branch 'pavelvat-fix_mingw' into develop
2015-12-23 23:29:14 +01:00
Ion Gaztañaga
fe75848cb6
Merge branch 'fix_mingw' of https://github.com/pavelvat/interprocess into pavelvat-fix_mingw
2015-12-23 23:29:02 +01:00
Ion Gaztañaga
e242de82aa
Replaced BOOST_FORCEINLINE with BOOST_INTERPROCESS_FORCEINLINE so it's configurable.
2015-12-23 21:42:33 +01:00
Pavel Vatagin
f2c5e598b8
Fixed case sensetive for linux mingw
2015-12-23 20:50:12 +03:00
Ion Gaztañaga
6df7e27c78
Merge branch 'mclow-develop' into develop
boost-1.60.0
2015-12-08 20:39:29 +01:00
Marshall Clow
90892fcbf9
Update gcc version check for 'diagnostic pop'
2015-12-08 11:33:16 -08:00
Marshall Clow
fe47ea6f36
Update gcc version check for 'diagnostic push'
2015-12-08 11:32:23 -08:00
Ion Gaztañaga
a6d5a32770
Updated changelog with offset_ptr improvements.
2015-10-18 22:00:50 +02:00
Ion Gaztañaga
3ca88495df
Add missing extra parenthesis to BOOST_STATIC_ASSERT to avoid compilation errors in some compilers.
2015-10-18 21:33:26 +02:00
Ion Gaztañaga
73b3d75cf9
- Added BOOST_FORCE_INLINE to offset_ptr function.
...
- Reimplemented pointer_plus_bits to correct bugs and use uintptr_t instead of std::size_t.
2015-10-17 00:26:24 +02:00
Ion Gaztañaga
e64e3b5acc
Remove undefined behaviour from offset_ptr. Used uintptr_t internally and all calculations are done in unsigned integers.
...
Support GCC 3.4, which does not allow advanced sfinae in assignment operators.
2015-10-14 23:29:53 +02:00
Ion Gaztañaga
1374fd2d67
Removed uninitialized variable warnings in GCC
2015-10-14 22:25:00 +02:00