Hintsbd: fix locking
[exim.git] / src / OS / unsupported / os.c-HI-OSF
1 /*************************************************
2 *     Exim - an Internet mail transport agent    *
3 *************************************************/
4
5 /* Copyright (c) University of Cambridge 2001 */
6 /* SPDX-License-Identifier: GPL-2.0-or-later */
7 /* See the file NOTICE for conditions of use and distribution. */
8
9 /* HI-OSF-specific code. This is concatenated onto the generic
10 src/os.c file. OSF has an apparently unique way of getting the
11 load average, so we provide a unique function here, and define
12 OS_LOAD_AVERAGE to stop src/os.c trying to provide the function. */
13
14 #ifndef OS_LOAD_AVERAGE
15 #define OS_LOAD_AVERAGE
16
17 #include <sys/table.h>
18
19 int
20 os_getloadavg(void)
21 {
22 double avg;
23 struct tbl_loadavg load_avg;
24
25 table (TBL_LOADAVG, 0, &load_avg, 1, sizeof (load_avg));
26
27 avg = (load_avg.tl_lscale == 0)?
28   load_avg.tl_avenrun.d[0] :
29   (load_avg.tl_avenrun.l[0] / (double)load_avg.tl_lscale);
30
31 return (int)(avg * 1000.0);
32 }
33
34 #endif  /* OS_LOAD_AVERAGE */
35
36 /* End of os.c-HI-OSF */