X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/0f4f2a8848bf9e6bb323ffb6a5581b088a940fd0..61ec970df30325dbcd8c9d0f0e431dc793126656:/src/OS/os.c-HI-OSF?ds=sidebyside diff --git a/src/OS/os.c-HI-OSF b/src/OS/os.c-HI-OSF new file mode 100644 index 000000000..a21765022 --- /dev/null +++ b/src/OS/os.c-HI-OSF @@ -0,0 +1,37 @@ +/* $Cambridge: exim/src/OS/os.c-HI-OSF,v 1.1 2004/10/06 15:07:39 ph10 Exp $ */ + +/************************************************* +* Exim - an Internet mail transport agent * +*************************************************/ + +/* Copyright (c) University of Cambridge 2001 */ +/* 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 + +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 */