shared: Add timespec_is_zero helper
Add a helper function to check if a struct timespec is zero. This helper will be used in the upcoming commits to transition the Weston codebase to struct timespec. Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
committed by
Pekka Paalanen
parent
0343c6ac69
commit
e2a5f9e02d
@@ -29,6 +29,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#define NSEC_PER_SEC 1000000000
|
#define NSEC_PER_SEC 1000000000
|
||||||
|
|
||||||
@@ -133,6 +134,17 @@ timespec_sub_to_msec(const struct timespec *a, const struct timespec *b)
|
|||||||
return timespec_sub_to_nsec(a, b) / 1000000;
|
return timespec_sub_to_nsec(a, b) / 1000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check if a timespec is zero
|
||||||
|
*
|
||||||
|
* \param a timespec
|
||||||
|
* \return whether the timespec is zero
|
||||||
|
*/
|
||||||
|
static inline bool
|
||||||
|
timespec_is_zero(const struct timespec *a)
|
||||||
|
{
|
||||||
|
return a->tv_sec == 0 && a->tv_nsec == 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Convert milli-Hertz to nanoseconds
|
/* Convert milli-Hertz to nanoseconds
|
||||||
*
|
*
|
||||||
* \param mhz frequency in mHz, not zero
|
* \param mhz frequency in mHz, not zero
|
||||||
|
|||||||
@@ -164,3 +164,14 @@ ZUC_TEST(timespec_test, timespec_sub_to_msec)
|
|||||||
b.tv_nsec = 1000000L;
|
b.tv_nsec = 1000000L;
|
||||||
ZUC_ASSERT_EQ((998 * 1000) + 1, timespec_sub_to_msec(&a, &b));
|
ZUC_ASSERT_EQ((998 * 1000) + 1, timespec_sub_to_msec(&a, &b));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ZUC_TEST(timespec_test, timespec_is_zero)
|
||||||
|
{
|
||||||
|
struct timespec zero = { 0 };
|
||||||
|
struct timespec non_zero_sec = { .tv_sec = 1, .tv_nsec = 0 };
|
||||||
|
struct timespec non_zero_nsec = { .tv_sec = 0, .tv_nsec = 1 };
|
||||||
|
|
||||||
|
ZUC_ASSERT_TRUE(timespec_is_zero(&zero));
|
||||||
|
ZUC_ASSERT_FALSE(timespec_is_zero(&non_zero_nsec));
|
||||||
|
ZUC_ASSERT_FALSE(timespec_is_zero(&non_zero_sec));
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user