diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2020-10-13 21:29:39 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2020-11-05 18:23:39 +0300 |
commit | 8ca3b4e5996e37411d866fb5fa1b1a86515aa628 (patch) | |
tree | 4a272d34d0aa8c673c9d0eea9987add7765aabf0 | |
parent | ed63f730882bf6061e30b41501b37ca53fef8af9 (diff) |
Fix 'unresolved external symbol' for process::timed_wait(milliseconds) on Windows
-rw-r--r-- | libbutl/process.ixx | 2 | ||||
-rw-r--r-- | tests/process/driver.cxx | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libbutl/process.ixx b/libbutl/process.ixx index eba6be5..c32bf2a 100644 --- a/libbutl/process.ixx +++ b/libbutl/process.ixx @@ -251,7 +251,7 @@ namespace butl // specialization. // template <> - optional<bool> process:: + LIBBUTL_SYMEXPORT optional<bool> process:: timed_wait (const std::chrono::milliseconds&); template <typename R, typename P> diff --git a/tests/process/driver.cxx b/tests/process/driver.cxx index 3be4154..4b5dd16 100644 --- a/tests/process/driver.cxx +++ b/tests/process/driver.cxx @@ -7,6 +7,7 @@ #include <ios> #include <string> #include <vector> +#include <chrono> #include <sstream> #include <iterator> // istreambuf_iterator, ostream_iterator #include <algorithm> // copy() @@ -25,6 +26,7 @@ import butl.utility; // setenv(), getenv() import butl.process; import butl.optional; import butl.fdstream; +import butl.timestamp; #else #include <libbutl/path.mxx> #include <libbutl/utility.mxx> @@ -32,6 +34,7 @@ import butl.fdstream; #include <libbutl/process-io.mxx> #include <libbutl/optional.mxx> #include <libbutl/fdstream.mxx> +#include <libbutl/timestamp.mxx> #endif using namespace std; @@ -164,8 +167,11 @@ exec (const path& p, ifdstream is (bin_mode (move (pr3.in_ofd))); o = is.read_binary (); - r = pr2.wait () && r; - r = pr3.wait () && r; + // While at it, make sure that the process::timed_wait() template + // function overloads can be properly instantiated/linked. + // + r = pr2.timed_wait (duration::max ()) && r; + r = pr3.timed_wait (chrono::milliseconds::max ()) && r; } else { |