summaryrefslogtreecommitdiffstats
path: root/src/libs/zbxsysinfo/linux/kernel.c
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-11-07 12:00:41 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-11-07 12:00:41 +0000
commitbacd714155a4829cb720c73474cfbf655fb5fe94 (patch)
treee0156678c7d73b15f35e31d7db84ca7e00b9e34d /src/libs/zbxsysinfo/linux/kernel.c
parentc24747aacafa259dcfb65c3baeeda0a27311b7fc (diff)
downloadzabbix-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.c35
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)