36 lines
984 B
Text
36 lines
984 B
Text
/*************************************************
|
|
* Exim - an Internet mail transport agent *
|
|
*************************************************/
|
|
|
|
/* Copyright (c) University of Cambridge 2001 */
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/* See the file NOTICE for conditions of use and distribution. */
|
|
|
|
/* HI-OSF-specific code. This is concatenated onto the generic
|
|
src/os.c file. OSF has an apparently unique way of getting the
|
|
load average, so we provide a unique function here, and define
|
|
OS_LOAD_AVERAGE to stop src/os.c trying to provide the function. */
|
|
|
|
#ifndef OS_LOAD_AVERAGE
|
|
#define OS_LOAD_AVERAGE
|
|
|
|
#include <sys/table.h>
|
|
|
|
int
|
|
os_getloadavg(void)
|
|
{
|
|
double avg;
|
|
struct tbl_loadavg load_avg;
|
|
|
|
table (TBL_LOADAVG, 0, &load_avg, 1, sizeof (load_avg));
|
|
|
|
avg = (load_avg.tl_lscale == 0)?
|
|
load_avg.tl_avenrun.d[0] :
|
|
(load_avg.tl_avenrun.l[0] / (double)load_avg.tl_lscale);
|
|
|
|
return (int)(avg * 1000.0);
|
|
}
|
|
|
|
#endif /* OS_LOAD_AVERAGE */
|
|
|
|
/* End of os.c-HI-OSF */
|