mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 23:40:10 +01:00
util: move os_time.[ch] to src/util
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
f76a6cb337
commit
222a2fb998
57 changed files with 76 additions and 78 deletions
|
|
@ -83,8 +83,6 @@ C_SOURCES := \
|
|||
os/os_process.c \
|
||||
os/os_process.h \
|
||||
os/os_thread.h \
|
||||
os/os_time.c \
|
||||
os/os_time.h \
|
||||
pipebuffer/pb_buffer_fenced.c \
|
||||
pipebuffer/pb_buffer_fenced.h \
|
||||
pipebuffer/pb_buffer.h \
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
#include "util/u_debug.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/simple_list.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "lp_bld.h"
|
||||
#include "lp_bld_debug.h"
|
||||
#include "lp_bld_misc.h"
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
*/
|
||||
|
||||
#include "hud/hud_private.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_queue.h"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include "hud/hud_private.h"
|
||||
#include "util/list.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "util/u_memory.h"
|
||||
#include <stdio.h>
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
#include "hud/hud_private.h"
|
||||
#include "util/list.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "util/u_memory.h"
|
||||
#include <stdio.h>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
#include "hud/hud_private.h"
|
||||
#include "pipe/p_screen.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
#include <stdio.h>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
*/
|
||||
|
||||
#include "hud/hud_private.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "util/u_memory.h"
|
||||
|
||||
struct fps_info {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
#include "hud/hud_private.h"
|
||||
#include "util/list.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "util/u_memory.h"
|
||||
#include <stdio.h>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
#include "hud/hud_private.h"
|
||||
#include "util/list.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "util/u_memory.h"
|
||||
#include <stdio.h>
|
||||
|
|
|
|||
|
|
@ -103,8 +103,6 @@ files_libgallium = files(
|
|||
'os/os_process.c',
|
||||
'os/os_process.h',
|
||||
'os/os_thread.h',
|
||||
'os/os_time.c',
|
||||
'os/os_time.h',
|
||||
'pipebuffer/pb_buffer_fenced.c',
|
||||
'pipebuffer/pb_buffer_fenced.h',
|
||||
'pipebuffer/pb_buffer.h',
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include "pipe/p_config.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "pipe/p_compiler.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "tgsi/tgsi_parse.h"
|
||||
#include "tgsi/tgsi_scan.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include <inttypes.h>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
* Christian Gmeiner <christian.gmeiner@gmail.com>
|
||||
*/
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "pipe/p_state.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_string.h"
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
#include "etnaviv_resource.h"
|
||||
#include "etnaviv_translate.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_string.h"
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
#include "util/u_string.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_inlines.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "freedreno_query_sw.h"
|
||||
#include "freedreno_context.h"
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
#include "util/u_string.h"
|
||||
#include "util/u_debug.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
#include "draw/draw_context.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "lp_context.h"
|
||||
#include "lp_flush.h"
|
||||
#include "lp_fence.h"
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
#include "util/u_string.h"
|
||||
#include "util/u_thread.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "lp_scene_queue.h"
|
||||
#include "lp_context.h"
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
#include "gallivm/lp_bld_type.h"
|
||||
|
||||
#include "os/os_misc.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "lp_texture.h"
|
||||
#include "lp_fence.h"
|
||||
#include "lp_jit.h"
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
#include "util/u_pack_color.h"
|
||||
#include "util/u_viewport.h"
|
||||
#include "draw/draw_pipe.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "lp_context.h"
|
||||
#include "lp_memory.h"
|
||||
#include "lp_scene.h"
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@
|
|||
#include "util/u_string.h"
|
||||
#include "util/simple_list.h"
|
||||
#include "util/u_dual_blend.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "pipe/p_shader_tokens.h"
|
||||
#include "draw/draw_context.h"
|
||||
#include "tgsi/tgsi_dump.h"
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
#include "util/u_math.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/simple_list.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "gallivm/lp_bld_arit.h"
|
||||
#include "gallivm/lp_bld_bitarit.h"
|
||||
#include "gallivm/lp_bld_const.h"
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
#include "nouveau_screen.h"
|
||||
#include "nouveau_winsys.h"
|
||||
#include "nouveau_fence.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#ifdef PIPE_OS_UNIX
|
||||
#include <sched.h>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include "util/u_format_s3tc.h"
|
||||
#include "util/u_string.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
#include "util/u_sampler.h"
|
||||
#include "util/simple_list.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "vl/vl_decoder.h"
|
||||
#include "vl/vl_video_buffer.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#include "util/simple_list.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "r300_context.h"
|
||||
#include "r300_cs.h"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#include "util/u_format.h"
|
||||
#include "util/u_format_s3tc.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "vl/vl_decoder.h"
|
||||
#include "vl/vl_video_buffer.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
#include "r600_pipe_common.h"
|
||||
#include "r600_query.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
/* For good accuracy at 1000 fps or lower. This will be inaccurate for higher
|
||||
* fps (there are too few samples per frame). */
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
#include "vl/vl_video_buffer.h"
|
||||
#include "radeon_video.h"
|
||||
#include "radeon_uvd.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
static const struct debug_named_value r600_debug_options[] = {
|
||||
/* features */
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/u_format_s3tc.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "vl/vl_decoder.h"
|
||||
#include "vl/vl_video_buffer.h"
|
||||
#include "radeon_video.h"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
#include "r600_cs.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "tgsi/tgsi_text.h"
|
||||
|
||||
#define R600_MAX_STREAMS 4
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/u_pack_color.h"
|
||||
#include "util/u_surface.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
#define SB_RA_SCHED_CHECK DEBUG
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "r600_pipe.h"
|
||||
#include "r600_shader.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
#include "r600_pipe_common.h"
|
||||
#include "r600_query.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
/* For good accuracy at 1000 fps or lower. This will be inaccurate for higher
|
||||
* fps (there are too few samples per frame). */
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/u_format_s3tc.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "vl/vl_decoder.h"
|
||||
#include "vl/vl_video_buffer.h"
|
||||
#include "radeon/radeon_video.h"
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
#include "r600_cs.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_upload_mgr.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "tgsi/tgsi_text.h"
|
||||
#include "amd/common/sid.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/u_pack_color.h"
|
||||
#include "util/u_surface.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
#include "state_tracker/drm_driver.h"
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/simple_list.h"
|
||||
#include "util/u_network.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "tgsi/tgsi_parse.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include "draw/draw_context.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "sp_context.h"
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "util/u_format_s3tc.h"
|
||||
#include "util/u_video.h"
|
||||
#include "os/os_misc.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_screen.h"
|
||||
#include "draw/draw_context.h"
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_state.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "util/u_blitter.h"
|
||||
#include "util/list.h"
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "pipe/p_screen.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "swr_context.h"
|
||||
#include "swr_screen.h"
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "pipe/p_defines.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "swr_context.h"
|
||||
#include "swr_fence.h"
|
||||
#include "swr_query.h"
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
#include "pipe/p_compiler.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "util/u_debug.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_string.h"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#include "util/u_format.h"
|
||||
#include "util/u_format_s3tc.h"
|
||||
#include "util/u_video.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "pipe/p_defines.h"
|
||||
#include "pipe/p_screen.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
#include "pipe/p_screen.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "hud/hud_context.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "state_tracker/st_api.h"
|
||||
|
||||
#include "stw_icd.h"
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "util/u_atomic.h"
|
||||
#include "util/u_thread.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "amdgpu_cs.h"
|
||||
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "state_tracker/drm_driver.h"
|
||||
#include <amdgpu_drm.h>
|
||||
#include <xf86drm.h>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@
|
|||
*/
|
||||
|
||||
#include "amdgpu_cs.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include <inttypes.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "amd/common/sid.h"
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@
|
|||
#include "util/simple_list.h"
|
||||
#include "os/os_thread.h"
|
||||
#include "os/os_mman.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include "state_tracker/drm_driver.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
#include "radeon_drm_cs.h"
|
||||
|
||||
#include "util/u_memory.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
#include <sys/stat.h>
|
||||
|
||||
#include "os/os_mman.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "util/u_memory.h"
|
||||
#include "util/u_format.h"
|
||||
#include "util/u_hash_table.h"
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#include "util/u_memory.h"
|
||||
#include "util/u_format.h"
|
||||
#include "util/u_inlines.h"
|
||||
#include "os/os_time.h"
|
||||
#include "util/os_time.h"
|
||||
#include "state_tracker/sw_winsys.h"
|
||||
|
||||
#include "virgl_vtest_winsys.h"
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ MESA_UTIL_FILES := \
|
|||
macros.h \
|
||||
mesa-sha1.c \
|
||||
mesa-sha1.h \
|
||||
os_time.c \
|
||||
os_time.h \
|
||||
sha1/sha1.c \
|
||||
sha1/sha1.h \
|
||||
ralloc.c \
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ files_mesa_util = files(
|
|||
'macros.h',
|
||||
'mesa-sha1.c',
|
||||
'mesa-sha1.h',
|
||||
'os_time.c',
|
||||
'os_time.h',
|
||||
'sha1/sha1.c',
|
||||
'sha1/sha1.h',
|
||||
'ralloc.c',
|
||||
|
|
|
|||
|
|
@ -32,8 +32,11 @@
|
|||
* @author Jose Fonseca <jfonseca@vmware.com>
|
||||
*/
|
||||
|
||||
#include "os_time.h"
|
||||
|
||||
/* TODO: fix this dependency */
|
||||
#include "gallium/include/pipe/p_config.h"
|
||||
|
||||
#include "pipe/p_defines.h"
|
||||
#include "util/u_atomic.h"
|
||||
|
||||
#if defined(PIPE_OS_UNIX)
|
||||
|
|
@ -47,8 +50,6 @@
|
|||
# error Unsupported OS
|
||||
#endif
|
||||
|
||||
#include "os_time.h"
|
||||
|
||||
|
||||
int64_t
|
||||
os_time_get_nano(void)
|
||||
|
|
@ -121,15 +122,15 @@ os_time_get_absolute_timeout(uint64_t timeout)
|
|||
int64_t time, abs_timeout;
|
||||
|
||||
/* Also check for the type upper bound. */
|
||||
if (timeout == PIPE_TIMEOUT_INFINITE || timeout > INT64_MAX)
|
||||
return PIPE_TIMEOUT_INFINITE;
|
||||
if (timeout == OS_TIMEOUT_INFINITE || timeout > INT64_MAX)
|
||||
return OS_TIMEOUT_INFINITE;
|
||||
|
||||
time = os_time_get_nano();
|
||||
abs_timeout = time + (int64_t)timeout;
|
||||
|
||||
/* Check for overflow. */
|
||||
if (abs_timeout < time)
|
||||
return PIPE_TIMEOUT_INFINITE;
|
||||
return OS_TIMEOUT_INFINITE;
|
||||
|
||||
return abs_timeout;
|
||||
}
|
||||
|
|
@ -144,7 +145,7 @@ os_wait_until_zero(volatile int *var, uint64_t timeout)
|
|||
if (!timeout)
|
||||
return false;
|
||||
|
||||
if (timeout == PIPE_TIMEOUT_INFINITE) {
|
||||
if (timeout == OS_TIMEOUT_INFINITE) {
|
||||
while (p_atomic_read(var)) {
|
||||
#if defined(PIPE_OS_UNIX)
|
||||
sched_yield();
|
||||
|
|
@ -175,8 +176,8 @@ os_wait_until_zero_abs_timeout(volatile int *var, int64_t timeout)
|
|||
if (!p_atomic_read(var))
|
||||
return true;
|
||||
|
||||
if (timeout == PIPE_TIMEOUT_INFINITE)
|
||||
return os_wait_until_zero(var, PIPE_TIMEOUT_INFINITE);
|
||||
if (timeout == OS_TIMEOUT_INFINITE)
|
||||
return os_wait_until_zero(var, OS_TIMEOUT_INFINITE);
|
||||
|
||||
while (p_atomic_read(var)) {
|
||||
if (os_time_get_nano() >= timeout)
|
||||
|
|
@ -35,20 +35,15 @@
|
|||
#ifndef _OS_TIME_H_
|
||||
#define _OS_TIME_H_
|
||||
|
||||
|
||||
#include "pipe/p_config.h"
|
||||
|
||||
#if defined(PIPE_OS_UNIX)
|
||||
# include <unistd.h> /* usleep */
|
||||
#endif
|
||||
|
||||
#include "pipe/p_compiler.h"
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* must be equal to PIPE_TIMEOUT_INFINITE */
|
||||
#define OS_TIMEOUT_INFINITE 0xffffffffffffffffull
|
||||
|
||||
/*
|
||||
* Get the current time in nanoseconds from an unknown base.
|
||||
|
|
@ -79,7 +74,7 @@ os_time_sleep(int64_t usecs);
|
|||
*
|
||||
* Returns true if the current time has elapsed beyond the specified interval.
|
||||
*/
|
||||
static inline boolean
|
||||
static inline bool
|
||||
os_time_timeout(int64_t start,
|
||||
int64_t end,
|
||||
int64_t curr)
|
||||
|
|
@ -95,8 +90,8 @@ os_time_timeout(int64_t start,
|
|||
* Convert a relative timeout in nanoseconds into an absolute timeout,
|
||||
* in other words, it returns current time + timeout.
|
||||
* os_time_get_nano() must be monotonic.
|
||||
* PIPE_TIMEOUT_INFINITE is passed through unchanged. If the calculation
|
||||
* overflows, PIPE_TIMEOUT_INFINITE is returned.
|
||||
* OS_TIMEOUT_INFINITE is passed through unchanged. If the calculation
|
||||
* overflows, OS_TIMEOUT_INFINITE is returned.
|
||||
*/
|
||||
int64_t
|
||||
os_time_get_absolute_timeout(uint64_t timeout);
|
||||
|
|
@ -107,7 +102,7 @@ os_time_get_absolute_timeout(uint64_t timeout);
|
|||
*
|
||||
* \param var variable
|
||||
* \param timeout timeout in ns, can be anything from 0 (no wait) to
|
||||
* PIPE_TIME_INFINITE (wait forever)
|
||||
* OS_TIMEOUT_INFINITE (wait forever)
|
||||
* \return true if the variable is zero
|
||||
*/
|
||||
bool
|
||||
|
|
@ -118,7 +113,7 @@ os_wait_until_zero(volatile int *var, uint64_t timeout);
|
|||
* Wait until the variable at the given memory location is zero.
|
||||
* The timeout is the absolute time when the waiting should stop. If it is
|
||||
* less than or equal to the current time, it only returns the status and
|
||||
* doesn't wait. PIPE_TIME_INFINITE waits forever. This requires that
|
||||
* doesn't wait. OS_TIMEOUT_INFINITE waits forever. This requires that
|
||||
* os_time_get_nano is monotonic.
|
||||
*
|
||||
* \param var variable
|
||||
Loading…
Add table
Reference in a new issue