Dusk Audio Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
daf
extra
Sleep.hpp
1
/*
2
* DISTRHO Plugin Framework (DPF)
3
* Copyright (C) 2012-2024 Filipe Coelho <falktx@falktx.com>
4
*
5
* Permission to use, copy, modify, and/or distribute this software for any purpose with
6
* or without fee is hereby granted, provided that the above copyright notice and this
7
* permission notice appear in all copies.
8
*
9
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD
10
* TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN
11
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
13
* IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15
*/
16
17
#ifndef DAF_SLEEP_HPP_INCLUDED
18
#define DAF_SLEEP_HPP_INCLUDED
19
20
#include "../DafUtils.hpp"
21
22
#ifdef DAF_OS_WINDOWS
23
# ifndef NOMINMAX
24
# define NOMINMAX
25
# endif
26
# include <winsock2.h>
27
# include <windows.h>
28
#else
29
# include <unistd.h>
30
#endif
31
32
START_NAMESPACE_DAF
33
34
// -----------------------------------------------------------------------------------------------------------
35
// d_*sleep
36
37
/*
38
* Sleep for 'secs' seconds.
39
*/
40
static
inline
41
void
d_sleep(
const
uint secs)
noexcept
42
{
43
DAF_SAFE_ASSERT_RETURN(secs > 0,);
44
45
try
{
46
#ifdef DAF_OS_WINDOWS
47
::Sleep(secs * 1000);
48
#else
49
::sleep(secs);
50
#endif
51
} DAF_SAFE_EXCEPTION(
"d_sleep"
);
52
}
53
54
/*
55
* Sleep for 'msecs' milliseconds.
56
*/
57
static
inline
58
void
d_msleep(
const
uint msecs)
noexcept
59
{
60
DAF_SAFE_ASSERT_RETURN(msecs > 0,);
61
62
try
{
63
#ifdef DAF_OS_WINDOWS
64
::Sleep(msecs);
65
#else
66
::usleep(msecs * 1000);
67
#endif
68
} DAF_SAFE_EXCEPTION(
"d_msleep"
);
69
}
70
71
// -----------------------------------------------------------------------------------------------------------
72
73
END_NAMESPACE_DAF
74
75
#endif
// DAF_SLEEP_HPP_INCLUDED
END_NAMESPACE_DAF
#define END_NAMESPACE_DAF
Definition
DafInfo.hpp:996
START_NAMESPACE_DAF
#define START_NAMESPACE_DAF
Definition
DafInfo.hpp:990
Generated by
1.18.0