diff options
-rw-r--r-- | include/llfio/revision.hpp | 6 | ||||
-rw-r--r-- | include/llfio/v2.0/detail/impl/posix/map_handle.ipp | 9 | ||||
-rw-r--r-- | include/llfio/v2.0/detail/impl/windows/map_handle.ipp | 9 | ||||
m--------- | include/llfio/v2.0/outcome | 0 | ||||
m--------- | include/llfio/v2.0/quickcpplib | 0 | ||||
m--------- | test/kerneltest | 0 | ||||
-rw-r--r-- | test/tests/mapped.cpp | 1 |
7 files changed, 12 insertions, 13 deletions
diff --git a/include/llfio/revision.hpp b/include/llfio/revision.hpp index 5d80bdd4..d9cc7418 100644 --- a/include/llfio/revision.hpp +++ b/include/llfio/revision.hpp @@ -1,4 +1,4 @@ // Note the second line of this file must ALWAYS be the git SHA, third line ALWAYS the git SHA update time -#define LLFIO_PREVIOUS_COMMIT_REF 748ef4600d59d65686d7e289f79c4601d7bed5c5 -#define LLFIO_PREVIOUS_COMMIT_DATE "2019-06-13 09:53:30 +00:00" -#define LLFIO_PREVIOUS_COMMIT_UNIQUE 748ef460 +#define LLFIO_PREVIOUS_COMMIT_REF 9e7725c6c92695abbf0689e098cef5ad673b1400 +#define LLFIO_PREVIOUS_COMMIT_DATE "2019-07-29 09:24:29 +00:00" +#define LLFIO_PREVIOUS_COMMIT_UNIQUE 9e7725c6 diff --git a/include/llfio/v2.0/detail/impl/posix/map_handle.ipp b/include/llfio/v2.0/detail/impl/posix/map_handle.ipp index b5ef30b5..450b5811 100644 --- a/include/llfio/v2.0/detail/impl/posix/map_handle.ipp +++ b/include/llfio/v2.0/detail/impl/posix/map_handle.ipp @@ -588,7 +588,7 @@ map_handle::io_result<map_handle::const_buffers_type> map_handle::write(io_reque LLFIO_LOG_FUNCTION_CALL(this); byte *addr = _addr + reqs.offset; size_type togo = reqs.offset < _length ? static_cast<size_type>(_length - reqs.offset) : 0; - if(QUICKCPPLIB_NAMESPACE::signal_guard::signal_guard(QUICKCPPLIB_NAMESPACE::signal_guard::signalc::undefined_memory_access, + if(QUICKCPPLIB_NAMESPACE::signal_guard::signal_guard(QUICKCPPLIB_NAMESPACE::signal_guard::signalc_set::undefined_memory_access, [&] { for(size_t i = 0; i < reqs.buffers.size(); i++) { @@ -610,13 +610,12 @@ map_handle::io_result<map_handle::const_buffers_type> map_handle::write(io_reque } return false; }, - [&](const QUICKCPPLIB_NAMESPACE::signal_guard::raised_signal_info &_info) { - auto &info = const_cast<QUICKCPPLIB_NAMESPACE::signal_guard::raised_signal_info &>(_info); - auto *causingaddr = (byte *) info.address(); + [&](const QUICKCPPLIB_NAMESPACE::signal_guard::raised_signal_info *info) { + auto *causingaddr = (byte *) info->addr; if(causingaddr < _addr || causingaddr >= (_addr + _reservation)) { // Not caused by this map - QUICKCPPLIB_NAMESPACE::signal_guard::thread_local_raise_signal(info.signal(), info.raw_info(), info.raw_context()); + thrd_raise_signal(info->signo, info->raw_info, info->raw_context); abort(); } return true; diff --git a/include/llfio/v2.0/detail/impl/windows/map_handle.ipp b/include/llfio/v2.0/detail/impl/windows/map_handle.ipp index 25c59b3d..7065c300 100644 --- a/include/llfio/v2.0/detail/impl/windows/map_handle.ipp +++ b/include/llfio/v2.0/detail/impl/windows/map_handle.ipp @@ -917,7 +917,7 @@ map_handle::io_result<map_handle::const_buffers_type> map_handle::write(io_reque LLFIO_LOG_FUNCTION_CALL(this); byte *addr = _addr + reqs.offset; size_type togo = reqs.offset < _length ? static_cast<size_type>(_length - reqs.offset) : 0; - if(QUICKCPPLIB_NAMESPACE::signal_guard::signal_guard(QUICKCPPLIB_NAMESPACE::signal_guard::signalc::undefined_memory_access, + if(QUICKCPPLIB_NAMESPACE::signal_guard::signal_guard(QUICKCPPLIB_NAMESPACE::signal_guard::signalc_set::undefined_memory_access, [&] { for(size_t i = 0; i < reqs.buffers.size(); i++) { @@ -939,13 +939,12 @@ map_handle::io_result<map_handle::const_buffers_type> map_handle::write(io_reque } return false; }, - [&](const QUICKCPPLIB_NAMESPACE::signal_guard::raised_signal_info &_info) { - auto &info = const_cast<QUICKCPPLIB_NAMESPACE::signal_guard::raised_signal_info &>(_info); - auto *causingaddr = (byte *) info.address(); + [&](const QUICKCPPLIB_NAMESPACE::signal_guard::raised_signal_info *info) { + auto *causingaddr = (byte *) info->addr; if(causingaddr < _addr || causingaddr >= (_addr + _length)) { // Not caused by this map - QUICKCPPLIB_NAMESPACE::signal_guard::thread_local_raise_signal(info.signal(), info.raw_info(), info.raw_context()); + thrd_raise_signal(info->signo, info->raw_info, info->raw_context); } return true; })) diff --git a/include/llfio/v2.0/outcome b/include/llfio/v2.0/outcome -Subproject dd50d7d677495e0ac6d2f3d9154dd82c59326e2 +Subproject be4d662241dd58c479dc8faebd0e6f59187eb3a diff --git a/include/llfio/v2.0/quickcpplib b/include/llfio/v2.0/quickcpplib -Subproject 68571eae65c19d8f081d276bb8fc2608e7f29bd +Subproject c21c3148e22a759ecd6e40216f61cf207e93e60 diff --git a/test/kerneltest b/test/kerneltest -Subproject 241623df1ffbbd043d6cc8fd9c4a84df1a8613e +Subproject 1b51b13679f0bf868ccb0896595cb367f55c2d2 diff --git a/test/tests/mapped.cpp b/test/tests/mapped.cpp index 88fd1f38..d865f71d 100644 --- a/test/tests/mapped.cpp +++ b/test/tests/mapped.cpp @@ -142,6 +142,7 @@ static inline void TestMappedView2() BOOST_CHECK(v1[0] == 78); BOOST_CHECK(v1[9999] == 0); + v1 = {}; mfh.truncate(0).value(); BOOST_CHECK(mfh.address() == nullptr); } |