Kaydet (Commit) b190574b authored tarafından Stephan Bergmann's avatar Stephan Bergmann

tdf#84323: Make osl::Thread::wait more readable

Change-Id: I33eb6970050a103404344c7f16dd33349c154347
Reviewed-on: https://gerrit.libreoffice.org/15018Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
Tested-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst 3c2b8006
......@@ -19,6 +19,7 @@
#include <sal/config.h>
#include <chrono>
#include <cstring>
#include <rtl/process.h>
......@@ -211,8 +212,7 @@ Reference< XComponentContext > SAL_CALL bootstrap()
catch ( connection::NoConnectException & )
{
// wait 500 ms, then try to connect again
TimeValue tv = { 0 /* secs */, 500000000 /* nanosecs */ };
::osl::Thread::wait( tv );
::osl::Thread::wait( std::chrono::milliseconds(500) );
}
}
}
......
......@@ -22,13 +22,13 @@
#include <sal/config.h>
#if defined LIBO_INTERNAL_ONLY && defined __cplusplus
#include <chrono>
#endif
#include <sal/saldllapi.h>
#include <sal/types.h>
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************/
/* TimeValue */
/****************************************************************************/
......@@ -39,15 +39,52 @@ extern "C" {
/* Time since Jan-01-1970 */
#if defined LIBO_INTERNAL_ONLY && defined __cplusplus
struct TimeValue {
TimeValue() = default;
SAL_CONSTEXPR TimeValue(sal_uInt32 seconds, sal_uInt32 nanoseconds):
Seconds(seconds), Nanosec(nanoseconds) {}
template<typename Rep, typename Period> SAL_CONSTEXPR
TimeValue(std::chrono::duration<Rep, Period> const & duration):
Seconds(
std::chrono::duration_cast<std::chrono::nanoseconds>(
duration).count() / 1000000000),
Nanosec(
std::chrono::duration_cast<std::chrono::nanoseconds>(
duration).count() % 1000000000)
{}
sal_uInt32 Seconds;
sal_uInt32 Nanosec;
};
#else
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
sal_uInt32 Seconds;
sal_uInt32 Nanosec;
} TimeValue;
#ifdef __cplusplus
}
#endif
#endif
#if defined(SAL_W32)
# pragma pack(pop)
#endif
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************/
/* oslDateTime */
......
......@@ -56,11 +56,9 @@ struct TTimeValue : public TimeValue
normalize();
}
TTimeValue( const TTimeValue& rTimeValue )
TTimeValue( const TTimeValue& rTimeValue ):
TimeValue(rTimeValue)
{
Seconds = rTimeValue.Seconds;
Nanosec = rTimeValue.Nanosec;
normalize();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment