Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/llfio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Readme.md17
m---------include/boost/afio/boost-lite0
m---------include/boost/afio/outcome0
-rw-r--r--include/boost/afio/v2.0/config.hpp13
m---------test/kerneltest0
-rw-r--r--test/tests/map_handle_create_close/integration.cpp8
6 files changed, 32 insertions, 6 deletions
diff --git a/Readme.md b/Readme.md
index d6cca5e5..d564b304 100644
--- a/Readme.md
+++ b/Readme.md
@@ -6,10 +6,21 @@ v2 rewrite. You can view its documentation at https://ned14.github.io/boost.afio
Tarballs of source and prebuilt binaries with all unit tests passing: https://dedi4.nedprod.com/static/files/
-CMake todos:
+CppCon 2016 todos:
+- Fix remaining failures in map_handle.
+- Test open_hash_index on valgrind, I ran out of time during the weekend.
+ - Ideally raise that test on per-commit CI via ctest support for valgrind.
+- Create algorithm::shared_fs_mutex::memory_map<> which places an open_hash_index<>
+inside a map_handle region.
+ - If non_local_count > 0, use byte range locks on everything :)
+ - Use read lock at very end to determine when non local users have gone away
- Rename all ParseProjectVersionFromHpp etc to parse_project_version_from_hpp etc
-- Static library edition appears to not be encoding extended error code detail?
- - Add a unit test!
+- DLL library edition appears to not be encoding extended error code detail because
+it's not sharing a single ringbuffer_log. Hard to fix given Outcome could be being
+used by multiple libraries as a header only library, need to figure out some global
+fix e.g. named shared memory.
+
+
Later:
- Each test runner needs to be compiled into many sanitising build variants
diff --git a/include/boost/afio/boost-lite b/include/boost/afio/boost-lite
-Subproject 1703b1672074d8bb0eb50fd91d1a81827499e1f
+Subproject 618e5da526219ebb151dea7dba8e63c2ef47509
diff --git a/include/boost/afio/outcome b/include/boost/afio/outcome
-Subproject 2723fb5262b91a253f5bf7a0962aa47615144af
+Subproject cc0555b91ccd4970c3acc1f63b241a11aecdeb7
diff --git a/include/boost/afio/v2.0/config.hpp b/include/boost/afio/v2.0/config.hpp
index bf604d7f..dfb38adc 100644
--- a/include/boost/afio/v2.0/config.hpp
+++ b/include/boost/afio/v2.0/config.hpp
@@ -29,6 +29,10 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
+//#include <iostream>
+//#define BOOST_AFIO_LOG_TO_OSTREAM std::cout
+//#define BOOST_AFIO_LOGGING_LEVEL 99
+
//! \file config.hpp Configures a compiler environment for AFIO header and source code
//! \defgroup config Configuration macros
@@ -186,11 +190,11 @@ DEALINGS IN THE SOFTWARE.
#endif
#ifdef BOOST_AFIO_UNSTABLE_VERSION
#include "../revision.hpp"
-#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(v, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL, BOOST_AFIO_PREVIOUS_COMMIT_UNIQUE), inline)
+#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL, BOOST_AFIO_PREVIOUS_COMMIT_UNIQUE), inline)
#elif BOOST_AFIO_LATEST_VERSION == 2
-#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(v, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL), inline)
+#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL), inline)
#else
-#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(v, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL))
+#define BOOST_AFIO_V2 (boost), (afio), (BOOSTLITE_BIND_NAMESPACE_VERSION(, BOOST_AFIO_NAMESPACE_VERSION, BOOST_AFIO_V2_STL11_IMPL, BOOST_AFIO_V2_FILESYSTEM_IMPL))
#endif
/*! \def BOOST_AFIO_V2
\ingroup config
@@ -417,6 +421,9 @@ BOOST_AFIO_V2_NAMESPACE_BEGIN
inline BOOST_AFIO_DECL boost_lite::ringbuffer_log::simple_ringbuffer_log<BOOST_AFIO_LOGGING_MEMORY> &log() noexcept
{
static boost_lite::ringbuffer_log::simple_ringbuffer_log<BOOST_AFIO_LOGGING_MEMORY> _log(static_cast<boost_lite::ringbuffer_log::level>(BOOST_AFIO_LOGGING_LEVEL));
+#ifdef BOOST_AFIO_LOG_TO_OSTREAM
+ _log.immediate(&BOOST_AFIO_LOG_TO_OSTREAM);
+#endif
return _log;
}
inline void record_error_into_afio_log(boost_lite::ringbuffer_log::level _level, const char *_message, unsigned _code1, unsigned _code2, const char *_function, unsigned lineno)
diff --git a/test/kerneltest b/test/kerneltest
-Subproject 9f2a7ca51cbff03f235dfedb55a02ec615ec0f5
+Subproject b2687cbd86a554846e1b34d5eb6180cb97bb82e
diff --git a/test/tests/map_handle_create_close/integration.cpp b/test/tests/map_handle_create_close/integration.cpp
new file mode 100644
index 00000000..ef01fe0c
--- /dev/null
+++ b/test/tests/map_handle_create_close/integration.cpp
@@ -0,0 +1,8 @@
+/* Integration test kernel for map_handle create and close
+(C) 2016 Niall Douglas http://www.nedprod.com/
+File Created: Aug 2016
+*/
+
+#include "../kerneltest/include/boost/kerneltest.hpp"
+
+BOOST_KERNELTEST_TEST_KERNEL(integration, afio, map_handle_nocommit_and_commit, map_handle, "Tests that afio::map_handle's nocommit and commit work as expected", [] {})