refactor: switch to C++11-compatible tr_wait() from tr_wait_msec() (#4576)
This commit is contained in:
parent
a5c7b65869
commit
acbf483bae
|
@ -17,12 +17,14 @@
|
|||
#include <libtransmission/error.h>
|
||||
#include <libtransmission/file.h>
|
||||
#include <libtransmission/tr-getopt.h>
|
||||
#include <libtransmission/utils.h> /* tr_wait_msec */
|
||||
#include <libtransmission/utils.h> /* tr_wait() */
|
||||
#include <libtransmission/variant.h>
|
||||
#include <libtransmission/version.h>
|
||||
#include <libtransmission/web-utils.h>
|
||||
#include <libtransmission/web.h> // tr_sessionFetch()
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
|
||||
/***
|
||||
****
|
||||
***/
|
||||
|
@ -266,7 +268,7 @@ int tr_main(int argc, char* argv[])
|
|||
waitingOnWeb = true;
|
||||
while (waitingOnWeb)
|
||||
{
|
||||
tr_wait_msec(1000);
|
||||
tr_wait(1s);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -308,7 +310,7 @@ int tr_main(int argc, char* argv[])
|
|||
"Error:",
|
||||
};
|
||||
|
||||
tr_wait_msec(200);
|
||||
tr_wait(200ms);
|
||||
|
||||
if (gotsig)
|
||||
{
|
||||
|
|
|
@ -237,22 +237,6 @@ uint64_t tr_time_msec()
|
|||
return std::chrono::system_clock::now().time_since_epoch() / 1ms;
|
||||
}
|
||||
|
||||
void tr_wait_msec(long int delay_milliseconds)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
|
||||
Sleep((DWORD)delay_milliseconds);
|
||||
|
||||
#else
|
||||
|
||||
struct timespec ts = {};
|
||||
ts.tv_sec = delay_milliseconds / 1000;
|
||||
ts.tv_nsec = (delay_milliseconds % 1000) * 1000000;
|
||||
nanosleep(&ts, nullptr);
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
/***
|
||||
****
|
||||
***/
|
||||
|
|
|
@ -7,12 +7,14 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include <cctype>
|
||||
#include <chrono>
|
||||
#include <cstdint> // uint8_t, uint32_t, uint64_t
|
||||
#include <cstddef> // size_t
|
||||
#include <ctime> // time_t
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
#include <thread>
|
||||
#include <type_traits>
|
||||
#include <vector>
|
||||
|
||||
|
@ -85,8 +87,12 @@ constexpr auto tr_saveFile(std::string_view filename, ContiguousRange const& x,
|
|||
/** @brief return the current date in milliseconds */
|
||||
[[nodiscard]] uint64_t tr_time_msec();
|
||||
|
||||
/** @brief sleep the specified number of milliseconds */
|
||||
void tr_wait_msec(long int delay_milliseconds);
|
||||
/** @brief sleep for the specified duration */
|
||||
template<class rep, class period>
|
||||
void tr_wait(std::chrono::duration<rep, period> const& delay)
|
||||
{
|
||||
std::this_thread::sleep_for(delay);
|
||||
}
|
||||
|
||||
template<typename T, std::enable_if_t<std::is_integral<T>::value, bool> = true>
|
||||
[[nodiscard]] std::optional<T> tr_parseNum(std::string_view str, std::string_view* setme_remainder = nullptr, int base = 10);
|
||||
|
|
|
@ -21,13 +21,15 @@
|
|||
#include "log.h"
|
||||
#include "torrent.h"
|
||||
#include "tr-assert.h"
|
||||
#include "utils.h" // tr_time(), tr_wait_msec()
|
||||
#include "utils.h" // tr_time(), tr_wait()
|
||||
#include "verify.h"
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
auto constexpr MsecToSleepPerSecondDuringVerify = int{ 100 };
|
||||
auto constexpr SleepPerSecondDuringVerify = 100ms;
|
||||
|
||||
}
|
||||
|
||||
|
@ -133,7 +135,7 @@ bool tr_verify_worker::verifyTorrent(tr_torrent* tor, std::atomic<bool> const& s
|
|||
if (auto const now = tr_time(); last_slept_at != now)
|
||||
{
|
||||
last_slept_at = now;
|
||||
tr_wait_msec(MsecToSleepPerSecondDuringVerify);
|
||||
tr_wait(SleepPerSecondDuringVerify);
|
||||
}
|
||||
|
||||
sha->clear();
|
||||
|
@ -275,6 +277,6 @@ tr_verify_worker::~tr_verify_worker()
|
|||
|
||||
while (verify_thread_id_.has_value())
|
||||
{
|
||||
tr_wait_msec(20);
|
||||
tr_wait(20ms);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -671,7 +671,7 @@ public:
|
|||
++repeats;
|
||||
if (repeats > 1U)
|
||||
{
|
||||
tr_wait_msec(100);
|
||||
tr_wait(100ms);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -89,7 +89,7 @@ inline bool waitFor(std::function<bool()> const& test, std::chrono::milliseconds
|
|||
return false;
|
||||
}
|
||||
|
||||
tr_wait_msec(10);
|
||||
tr_wait(10ms);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue