mirror of
https://github.com/encounter/engine.git
synced 2026-03-30 11:09:55 -07:00
0f1ff3bdb3
Corects a bnuch of typeos throughout teh engien codebsae. Also makes a couple minor Commonwealth -> US spelling adjustments for consistency with the rest of Flutter's codebase. Made use of `misspell` tool: https://github.com/client9/misspell
57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
// Copyright 2013 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef FLUTTER_FML_PLATFORM_LINUX_TIMER_FD_H_
|
|
#define FLUTTER_FML_PLATFORM_LINUX_TIMER_FD_H_
|
|
|
|
#include "flutter/fml/time/time_point.h"
|
|
|
|
// clang-format off
|
|
#if __has_include(<sys/timerfd.h>) && \
|
|
(!defined(__ANDROID_API__) || __ANDROID_API__ >= 19)
|
|
// sys/timerfd.h is always present in Android NDK due to unified headers,
|
|
// but timerfd functions are only available on API 19 or later.
|
|
// clang-format on
|
|
|
|
#include <sys/timerfd.h>
|
|
|
|
#define FML_TIMERFD_AVAILABLE 1
|
|
|
|
#else // __has_include(<sys/timerfd.h>)
|
|
|
|
#define FML_TIMERFD_AVAILABLE 0
|
|
|
|
#include <sys/types.h>
|
|
// Must come after sys/types
|
|
#include <linux/time.h>
|
|
|
|
#define TFD_TIMER_ABSTIME (1 << 0)
|
|
#define TFD_TIMER_CANCEL_ON_SET (1 << 1)
|
|
|
|
#define TFD_CLOEXEC O_CLOEXEC
|
|
#define TFD_NONBLOCK O_NONBLOCK
|
|
|
|
int timerfd_create(int clockid, int flags);
|
|
|
|
int timerfd_settime(int ufc,
|
|
int flags,
|
|
const struct itimerspec* utmr,
|
|
struct itimerspec* otmr);
|
|
|
|
#endif // __has_include(<sys/timerfd.h>)
|
|
|
|
namespace fml {
|
|
|
|
/// Rearms the timer to expire at the given time point.
|
|
bool TimerRearm(int fd, fml::TimePoint time_point);
|
|
|
|
/// Drains the timer FD and returns true if it has expired. This may be false in
|
|
/// case the timer read is non-blocking and this routine was called before the
|
|
/// timer expiry.
|
|
bool TimerDrain(int fd);
|
|
|
|
} // namespace fml
|
|
|
|
#endif // FLUTTER_FML_PLATFORM_LINUX_TIMER_FD_H_
|