diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-11-07 12:00:41 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-11-07 12:00:41 +0000 |
| commit | bacd714155a4829cb720c73474cfbf655fb5fe94 (patch) | |
| tree | e0156678c7d73b15f35e31d7db84ca7e00b9e34d /src/libs/zbxsysinfo/linux/kernel.c | |
| parent | c24747aacafa259dcfb65c3baeeda0a27311b7fc (diff) | |
| download | zabbix-bacd714155a4829cb720c73474cfbf655fb5fe94.tar.gz zabbix-bacd714155a4829cb720c73474cfbf655fb5fe94.tar.xz zabbix-bacd714155a4829cb720c73474cfbf655fb5fe94.zip | |
- added support of kernel.maxfiles for Linux (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2285 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxsysinfo/linux/kernel.c')
| -rw-r--r-- | src/libs/zbxsysinfo/linux/kernel.c | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/libs/zbxsysinfo/linux/kernel.c b/src/libs/zbxsysinfo/linux/kernel.c index 14157f22..64ba3fd7 100644 --- a/src/libs/zbxsysinfo/linux/kernel.c +++ b/src/libs/zbxsysinfo/linux/kernel.c @@ -24,30 +24,33 @@ int KERNEL_MAXFILES(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { -#ifdef HAVE_FUNCTION_SYSCTL_KERN_MAXFILES - int mib[2],len; - int maxfiles; + int ret = SYSINFO_RET_FAIL; + char line[MAX_STRING_LEN]; + + unsigned long value = 0; + + FILE *f; assert(result); clean_result(result); - mib[0]=CTL_KERN; - mib[1]=KERN_MAXFILES; - - len=sizeof(maxfiles); - - if(sysctl(mib,2,&maxfiles,(size_t *)&len,NULL,0) != 0) + f=fopen("/proc/sys/fs/file-max","r"); + if(f) { - return SYSINFO_RET_FAIL; + if(fgets(line,MAX_STRING_LEN,f) != NULL); + { + if(sscanf(line,"%lu\n", &value) == 1) + { + result->type |= AR_DOUBLE; + result->dbl = (double) value; + ret = SYSINFO_RET_OK; + } + } + fclose(f); } - result->type |= AR_DOUBLE; - result->dbl = (double)(maxfiles); - return SYSINFO_RET_OK; -#else - return SYSINFO_RET_FAIL; -#endif + return ret; } int KERNEL_MAXPROC(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) |
