diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2023-11-07 04:20:55 -0500 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2023-12-01 08:53:04 -0500 |
commit | dc864d3a3777424187280e50c9bfb84dced54f12 (patch) | |
tree | beb14aa042607de7a6a9d7387fde104ab8a8eec7 | |
parent | abf635ddfe3242df907f58967f3c1e6763bbca2d (diff) | |
download | qemu-dc864d3a3777424187280e50c9bfb84dced54f12.zip qemu-dc864d3a3777424187280e50c9bfb84dced54f12.tar.gz qemu-dc864d3a3777424187280e50c9bfb84dced54f12.tar.bz2 |
osdep: add getloadavg
getloadavg is supported on Linux, BSDs, Solaris.
Following man page:
RETURN VALUE
If the load average was unobtainable, -1 is returned; otherwise,
the number of samples actually retrieved is returned.
accordingly, make stub for systems which don't support this function return -1
for consistency.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
-rw-r--r-- | include/qemu/osdep.h | 10 | ||||
-rw-r--r-- | meson.build | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 475a1c6..d30ba73 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -779,6 +779,16 @@ static inline int platform_does_not_support_system(const char *command) } #endif /* !HAVE_SYSTEM_FUNCTION */ +/** + * If the load average was unobtainable, -1 is returned + */ +#ifndef HAVE_GETLOADAVG_FUNCTION +static inline int getloadavg(double loadavg[], int nelem) +{ + return -1; +} +#endif /* !HAVE_GETLOADAVG_FUNCTION */ + #ifdef __cplusplus } #endif diff --git a/meson.build b/meson.build index ec01f8b..d2c4c2a 100644 --- a/meson.build +++ b/meson.build @@ -2293,6 +2293,7 @@ config_host_data.set('HAVE_GLIB_WITH_SLICE_ALLOCATOR', glib_has_gslice) config_host_data.set('HAVE_OPENPTY', cc.has_function('openpty', dependencies: util)) config_host_data.set('HAVE_STRCHRNUL', cc.has_function('strchrnul')) config_host_data.set('HAVE_SYSTEM_FUNCTION', cc.has_function('system', prefix: '#include <stdlib.h>')) +config_host_data.set('HAVE_GETLOADAVG_FUNCTION', cc.has_function('getloadavg', prefix: '#include <stdlib.h>')) if rbd.found() config_host_data.set('HAVE_RBD_NAMESPACE_EXISTS', cc.has_function('rbd_namespace_exists', |