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 @@ ...@@ -19,6 +19,7 @@
#include <sal/config.h> #include <sal/config.h>
#include <chrono>
#include <cstring> #include <cstring>
#include <rtl/process.h> #include <rtl/process.h>
...@@ -211,8 +212,7 @@ Reference< XComponentContext > SAL_CALL bootstrap() ...@@ -211,8 +212,7 @@ Reference< XComponentContext > SAL_CALL bootstrap()
catch ( connection::NoConnectException & ) catch ( connection::NoConnectException & )
{ {
// wait 500 ms, then try to connect again // wait 500 ms, then try to connect again
TimeValue tv = { 0 /* secs */, 500000000 /* nanosecs */ }; ::osl::Thread::wait( std::chrono::milliseconds(500) );
::osl::Thread::wait( tv );
} }
} }
} }
......
...@@ -22,13 +22,13 @@ ...@@ -22,13 +22,13 @@
#include <sal/config.h> #include <sal/config.h>
#if defined LIBO_INTERNAL_ONLY && defined __cplusplus
#include <chrono>
#endif
#include <sal/saldllapi.h> #include <sal/saldllapi.h>
#include <sal/types.h> #include <sal/types.h>
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************/ /****************************************************************************/
/* TimeValue */ /* TimeValue */
/****************************************************************************/ /****************************************************************************/
...@@ -39,15 +39,52 @@ extern "C" { ...@@ -39,15 +39,52 @@ extern "C" {
/* Time since Jan-01-1970 */ /* 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 { typedef struct {
sal_uInt32 Seconds; sal_uInt32 Seconds;
sal_uInt32 Nanosec; sal_uInt32 Nanosec;
} TimeValue; } TimeValue;
#ifdef __cplusplus
}
#endif
#endif
#if defined(SAL_W32) #if defined(SAL_W32)
# pragma pack(pop) # pragma pack(pop)
#endif #endif
#ifdef __cplusplus
extern "C" {
#endif
/****************************************************************************/ /****************************************************************************/
/* oslDateTime */ /* oslDateTime */
......
...@@ -56,11 +56,9 @@ struct TTimeValue : public TimeValue ...@@ -56,11 +56,9 @@ struct TTimeValue : public TimeValue
normalize(); normalize();
} }
TTimeValue( const TTimeValue& rTimeValue ) TTimeValue( const TTimeValue& rTimeValue ):
TimeValue(rTimeValue)
{ {
Seconds = rTimeValue.Seconds;
Nanosec = rTimeValue.Nanosec;
normalize(); 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