Commit Graph

642 Commits

Author SHA1 Message Date
Benoît Dejean
c7e0a7ac59 Fixed writable memory.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* procmap.c: (glibtop_get_proc_map_s):

	Fixed writable memory.

	Patch by hua.zhang@sun.com.
	Closes #345817.
2006-06-24 17:45:29 +00:00
Benoît Dejean
bc6ff2cb59 Can't get cpu_stat_kstat, didn't close kstat, this will make other program
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* open.c: (glibtop_get_kstats), (glibtop_open_s):

	Can't get cpu_stat_kstat, didn't close kstat, this will make other
	program used kstat wrong.
	Patch by hua.zhang@sun.com.
	Closes #345814.
2006-06-24 17:39:49 +00:00
Benoît Dejean
1826be8ef6 Fixed. Patch by hua.zhang@sun.com. Closes #345813.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* netlist.c: (glibtop_get_netlist_s):

	Fixed.
	Patch by hua.zhang@sun.com.
	Closes #345813.
2006-06-24 17:35:39 +00:00
Benoît Dejean
739e9cac4a Ensure file is closed.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* mountlist.c: (read_filesystem_list):

	Ensure file is closed.

	(glibtop_get_mountlist_s):

	Fixed .flags.

	Patch by hua.zhang@sun.com.
	Closes #345812.
2006-06-24 17:28:48 +00:00
Benoît Dejean
46c9f6ebeb Don't use kvm anymore. Patch by hua.zhang@sun.com. Closes #345811.
2006-06-24  Benoît Dejean  <benoit@placenet.org>

	* msg_limits.c: (glibtop_init_msg_limits_p),
	(glibtop_get_msg_limits_p):
	* open_suid.c: (glibtop_open_p):
	* sem_limits.c: (glibtop_init_sem_limits_p),
	(glibtop_get_sem_limits_p):
	* shm_limits.c: (glibtop_init_shm_limits_p),
	(glibtop_get_shm_limits_p):

	Don't use kvm anymore.
	Patch by hua.zhang@sun.com.
	Closes #345811.
2006-06-24 17:16:53 +00:00
Benoît Dejean
12502c2673 Fixed typo.
2006-04-09  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):

	Fixed typo.
2006-04-09 16:54:29 +00:00
Benoît Dejean
5d2f45803b Fixed trivial warning.
2006-04-09  Benoît Dejean  <benoit@placenet.org>

	* Makefile.am: Fixed trivial warning.
2006-04-09 10:55:03 +00:00
Julio M. Merino Vidal
3c21c70b64 Use configure checks to detect whether we need to define either KERNEL or
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* libgtop-sysdeps.m4:
	* sysdeps/freebsd/msg_limits.c:

	Use configure checks to detect whether we need to define either
	KERNEL or _KERNEL to get the definition of 'struct msginfo' in a
	BSD system.  This replaces the previous checks in the code that
	relied on __FreeBSD__ and similar macros.

	Before this change, the explicit definition of _KERNEL in the
	msg_limits.c file broke the build in NetBSD because it made the
	system headers pull in stuff unavailable to userland.

	Fixes bug #337207.
2006-04-09 10:50:43 +00:00
Julio M. Merino Vidal
9e6115f322 Check for the kvm library and use it to link the suid freebsd sysdeps code
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* libgtop-sysdeps.m4:
	* sysdeps/freebsd/Makefile.am:

	Check for the kvm library and use it to link the suid freebsd
	sysdeps code (only if available).  This library provides all the
	kvm_* functions used in it and is needed, at least, under NetBSD.

	Fixes bug #337247.
2006-04-09 10:12:17 +00:00
Julio M. Merino Vidal
cead508eae Use statvfs(2) if available instead of statfs(2). The latter was replaced
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/freebsd/fsusage.c:

	Use statvfs(2) if available instead of statfs(2).  The latter was
	replaced by the former and is no longer available under, e.g. NetBSD.

	Fixes bug #337235.
2006-04-09 10:08:22 +00:00
Benoît Dejean
afa9757a0e Store only strings in values' values. g_strdup these strings. Even if
2006-04-04  Benoît Dejean  <benoit@placenet.org>

	* sysinfo.c: (init_sysinfo):

	Store only strings in values' values. g_strdup these strings.
	Even if values is never destroyed, set key_destroy_func to NULL.

	Leave description to NULL.
2006-04-04 21:23:46 +00:00
Julio M. Merino Vidal
80855eabe2 Bring back to life (from the 1.x versions) the sysinfo.c file for the
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/freebsd/Makefile.am:
	* sysdeps/freebsd/sysinfo.c:

	Bring back to life (from the 1.x versions) the sysinfo.c file for
	the freebsd sysdeps.  The new file comes from the FreeBSD ports
	repository and has some minor style changes by me.  This is required
	to get the glibtop_get_sysinfo_s function used by the sysdeps common
	code.

	Fixes bug #337251.
2006-04-04 20:36:43 +00:00
Julio M. Merino Vidal
3558c4d5c3 Synch the list of GLIBTOP_SUID_* constants with those expected by the
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/aix/glibtop_server.h:
	* sysdeps/freebsd/glibtop_server.h:
	* sysdeps/osf1/glibtop_server.h:
	* sysdeps/stub/glibtop_server.h:
	* sysdeps/stub_suid/glibtop_server.h:

	Synch the list of GLIBTOP_SUID_* constants with those expected by
	the lib/sysdeps.c file.  Fixes the build under, at least, NetBSD
	and FreeBSD.

	Fixes bug #337246.
2006-04-04 20:06:14 +00:00
Julio M. Merino Vidal
1870a03538 Remove obsolete and non-functional code that breaks the build under
2006-04-04  Julio M. Merino Vidal  <jmmv@NetBSD.org>

	* sysdeps/freebsd/proctime.c:

	Remove obsolete and non-functional code that breaks the build under
	NetBSD.  It was guarded by a conditional but could not compile
	anyway because it referred to an undefined variable.

	Fixes bug #337234.
2006-04-04 20:01:43 +00:00
Benoît Dejean
2083db6c34 Fixed a bunch of warnings.
* msg_limits.c: (glibtop_get_msg_limits_s):
	* sem_limits.c: (glibtop_get_sem_limits_s):
	* shm_limits.c: (glibtop_get_shm_limits_s):

	Fixed a bunch of warnings.
2006-04-02 09:16:20 +00:00
Benoît Dejean
29adf02352 Also ignores linprocfs, mfs and devfs. Closes #331856. Patch by Andreas
* mountlist.c: (ignore_mount_entry): Also ignores linprocfs, mfs
	and devfs.
	Closes #331856.
	Patch by Andreas Kohn <andreas.kohn@gmail.com>
2006-02-21 09:06:40 +00:00
Benoît Dejean
23ca9669ae I can't believe i've been so stupid :) Uses smaps if linux > 2.6.14.
* procmap.c: (glibtop_get_proc_map_s):

	I can't believe i've been so stupid :)
	Uses smaps if linux > 2.6.14.
2006-01-23 16:41:10 +00:00
Benoît Dejean
3afe2bf629 Fixed when which == GLIBTOP_KERN_PROC_UID. Closes #324055.
* proclist.c: (glibtop_get_proclist_s):

	Fixed when which == GLIBTOP_KERN_PROC_UID.
	Closes #324055.
2005-12-15 13:04:04 +00:00
Benoît Dejean
e296c3a37a Implemented server->real_ncpu. Add a warning to display ncpu and real_ncpu
* open.c: (glibtop_open_s):

	Implemented server->real_ncpu.
	Add a warning to display ncpu and real_ncpu on open.
2005-12-14 10:53:53 +00:00
Benoît Dejean
806a816026 Fixed server->ncpu usage (SMP handling). Need more testing.
* cpu.c: (glibtop_get_cpu_s):
	* glibtop_private.c: (get_scaled), (check_cpu_line):
	* glibtop_private.h:
	* open.c: (glibtop_open_s):
	* proctime.c: (glibtop_get_proc_time_s):

	Fixed server->ncpu usage (SMP handling). Need more testing.
2005-12-13 09:15:49 +00:00
Benoît Dejean
ba7355df9e Implemented smap support. Closes #320710.
* procmap.c: (add_smaps), (glibtop_get_proc_map_s):

	Implemented smap support.
	Closes #320710.
2005-12-12 13:37:15 +00:00
Benoît Dejean
451f9f9d6c Improved so that it doesn't stat(2) every /proc/<PID>/.
* proclist.c: (glibtop_get_proclist_s):

	Improved so that it doesn't stat(2) every /proc/<PID>/.
2005-12-12 13:32:06 +00:00
James Henstridge
aa5ac8fc10 remove unused file.
2005-12-12  James Henstridge  <james@jamesh.id.au>

	* doc/auto-macros.texi.in: remove unused file.

	* doc/libgtop2.texi: don't include auto-macros.texi.

	* doc/Makefile.am: don't build auto-macros.texi, since none of its
	macros are used in the documentation any more.

	* include/glibtop/global.h: don't include <config.h> from headers.

	* .../*.c: make sure <config.h> is the first thing included.

	* acinclude.m4: m4_include() libgtop-sysdeps.m4 rather than
	inlining it.

	* acinclude.m4, libgtop-sysdeps.m4: use third argument to
	AC_DEFINE() to set the comment.

	* configure.in: modernise a bit.

	* acconfig.h: remove file, since it is deprecated

	* autogen.sh: require automake 1.9 instead of 1.4.
2005-12-12 09:38:15 +00:00
Benoît Dejean
79fc0e70c0 Small improvements. Use g_array_sized_new instead of g_array_new with
* procmap.c: (glibtop_get_proc_map_s):

        Small improvements.
        Use g_array_sized_new instead of g_array_new with
        reserved_size = 100.
        Don't use g_array_append_val to avoid copying
        glibtop_map_entries. Use g_array_set_size(size + 1) instead.

        I've run a little python benchmark and this shows a little
        speedup. I hope this would be more sensible in
        gnome-system-monitor (glibtop_get_procmap is intensively used for
        the 'Writable Memory' column).
2005-12-07 09:35:50 +00:00
Benoît Dejean
95b2dfa326 Dropped many dead files. Bumped release number. I guess this closes
* configure.in:
	* include/glibtop/glibtop-backend-info.h:
	* include/glibtop/glibtop-backend.h:
	* include/glibtop/glibtop-client.h:
	* lib/glibtop-backend-info.c:
	* lib/glibtop-backend.c:
	* lib/glibtop-client-private.h:
	* lib/glibtop-client.c:
	* lib/test-backends.c:
	* sysdeps/common/backend.c:
	* sysdeps/common/libgtop-common.backend:

	Dropped many dead files.
	Bumped release number.
	I guess this closes #320250.
2005-10-30 18:46:27 +00:00
Benoît Dejean
ac3ad6d2aa Removed 1 g_return_*.
* glibtop_private.c: (read_boot_time):

	Removed 1 g_return_*.
2005-10-29 19:23:50 +00:00
Benoît Dejean
3e77f3cf13 Do not add irq, softirq and iowait to idle.
* cpu.c: (glibtop_get_cpu_s):

	Do not add irq, softirq and iowait to idle.
2005-08-15 00:09:47 +00:00
Benoît Dejean
22a1120348 Added missing includes. Added missing GLIBTOP_SUID_NETLIST.
* glibtop_server.h:
	* open.c:
	* open_suid.c:
	* procdata.c:

	Added missing includes.
	Added missing GLIBTOP_SUID_NETLIST.
2005-08-12 14:55:38 +00:00
Benoît Dejean
708285f0d2 Reworked a bit. Warn on 2.6 without /sys.
* open.c: (set_linux_version), (glibtop_open_s):

	Reworked a bit.
	Warn on 2.6 without /sys.
2005-08-03 22:39:17 +00:00
Benoît Dejean
a0493a0ff1 Fixed for people running 2.6 without /sys.
* netload.c: (glibtop_get_netload_s):

	Fixed for people running 2.6 without /sys.
2005-08-03 13:26:06 +00:00
Benoît Dejean
78cb7832c5 Moved _glibtop_init_hook_[sp] declaration to private glibtop/init_hooks.h.
* configure.in:
	* include/glibtop/Makefile.am:
	* include/glibtop/glibtop-server.h:
	* include/glibtop/init_hooks.h:
	* include/glibtop/sysdeps.h:
	* lib/init.c: (glibtop_init_s):
	* lib/sysdeps.c:
	* sysdeps/aix/open.c: (glibtop_init_p):
	* sysdeps/common/sysdeps_suid.c:
	* sysdeps/freebsd/open.c: (glibtop_init_p):
	* sysdeps/osf1/open_suid.c: (glibtop_init_p):
	* sysdeps/solaris/open_suid.c: (glibtop_init_p):
	* sysdeps/stub_suid/open.c: (glibtop_init_p):

	Moved _glibtop_init_hook_[sp] declaration to private
	glibtop/init_hooks.h. Marked them const.

	Fixed GLIBTOP_SUID_NETLIST issues.
2005-08-02 09:47:21 +00:00
Benoît Dejean
b3979e6942 Added GLIBTOP_SUID_NETLIST.
* glibtop_server.h:

	Added GLIBTOP_SUID_NETLIST.
2005-08-02 05:04:35 +00:00
Benoît Dejean
1645027004 Fixed .flags.
* uptime.c:

	Fixed .flags.
2005-07-23 00:01:11 +00:00
Benoît Dejean
4efcfb2cb3 Cached getpagesize().
* glibtop_private.c: (get_page_size):
	* glibtop_private.h:
	* procmem.c: (glibtop_get_proc_mem_s):
	* procsegment.c: (glibtop_get_proc_segment_s):

	Cached getpagesize().
2005-07-22 19:20:39 +00:00
Benoît Dejean
96fe554afd Split implementations. New (simpler) implementation for 2.6 (/sys is so
* netload.c: (read_value), (linux_2_6_stats), (linux_2_0_stats),
	(linux_2_4_stats), (glibtop_get_netload_s): Split implementations.
	New (simpler) implementation for 2.6 (/sys is so nice ;)
2005-07-09 21:09:15 +00:00
Benoît Dejean
16e0c943b2 Cached boot_time.
* glibtop_private.c: (read_boot_time), (get_boot_time): Cached boot_time.
2005-07-07 19:34:18 +00:00
Benoît Dejean
f409c553f5 Et m***e ... CVS got me. I wanted to commit a single change on the
toplevel configure.in but commited the whole tree. Sorry.

	* glibtop_private.c:
	* glibtop_private.h:
	* proctime.c:
	* uptime.c:

	Added new function get_boot_time.

	Retrieve boot_time from /proc/stat.
2005-07-05 23:08:58 +00:00
Benoît Dejean
b6a10fd8f7 Made some checks solaris only.
* configure.in: Made some checks solaris only.
2005-07-05 23:05:20 +00:00
Benoît Dejean
c81e055427 Removed LT_VERSION_INFO from LDFLAGS when unused.
* sysdeps/common/Makefile.am:
	* sysdeps/linux/Makefile.am: Removed LT_VERSION_INFO from LDFLAGS
	when unused.
2005-06-14 22:21:06 +00:00
Benoît Dejean
06fb19b5c6 Ensures buffer is 0-terminated.
* glibtop_private.c: (try_file_to_buffer): Ensures buffer is 0-terminated.
2005-06-14 22:17:49 +00:00
Benoît Dejean
ef2ed50bf7 Added pagein/pageout for linux 2.6.
* swap.c: (glibtop_get_swap_s): Added pagein/pageout for linux 2.6.
2005-06-13 09:03:41 +00:00
Benoît Dejean
be7dabf75d Added a lot of new functions to replace dirty macros. Every macro
* configure.in:
	* glibtop.h:
	* include/glibtop/close.h:
	* include/glibtop/cpu.h:
	* include/glibtop/fsusage.h:
	* include/glibtop/loadavg.h:
	* include/glibtop/mem.h:
	* include/glibtop/mountlist.h:
	* include/glibtop/msg_limits.h:
	* include/glibtop/netlist.h:
	* include/glibtop/netload.h:
	* include/glibtop/ppp.h:
	* include/glibtop/procargs.h:
	* include/glibtop/prockernel.h:
	* include/glibtop/proclist.h:
	* include/glibtop/procmap.h:
	* include/glibtop/procmem.h:
	* include/glibtop/procopenfiles.h:
	* include/glibtop/procsegment.h:
	* include/glibtop/procsignal.h:
	* include/glibtop/procstate.h:
	* include/glibtop/proctime.h:
	* include/glibtop/procuid.h:
	* include/glibtop/sem_limits.h:
	* include/glibtop/shm_limits.h:
	* include/glibtop/swap.h:
	* include/glibtop/sysdeps.h:
	* include/glibtop/sysinfo.h:
	* include/glibtop/uptime.h:
	* sysdeps/common/Makefile.am:
	* sysdeps/common/default.c: (glibtop_close), (glibtop_init),
	(glibtop_get_cpu), (glibtop_get_fsusage), (glibtop_get_uptime),
	(glibtop_get_sysinfo), (glibtop_get_swap), (glibtop_get_proc_uid),
	(glibtop_get_proc_time), (glibtop_get_proc_state),
	(glibtop_get_proc_signal), (glibtop_get_proc_segment),
	(glibtop_get_proc_open_files), (glibtop_get_proc_mem),
	(glibtop_get_proc_map), (glibtop_get_proc_args),
	(glibtop_get_proc_argv), (glibtop_get_proclist),
	(glibtop_get_proc_kernel), (glibtop_get_ppp),
	(glibtop_get_netlist), (glibtop_get_netload),
	(glibtop_get_mountlist), (glibtop_get_mem), (glibtop_get_loadavg),
	(glibtop_get_msg_limits), (glibtop_get_sem_limits),
	(glibtop_get_shm_limits), (glibtop_get_sysdeps):

	Added a lot of new functions to replace dirty macros.
	Every macro glibtop_get_*(buf[, args]) has been turned to a function.
2005-06-07 09:54:44 +00:00
Benoît Dejean
872a4180e4 Fixed compilation on mips. Closes #304570.
* siglist.c: Fixed compilation on mips. Closes #304570.
2005-05-25 22:28:42 +00:00
Jörgen Scheibengruber
e8351bae05 Added tmpfs to ignore list.
* mountlist.c: (ignore_mount_entry): Added tmpfs to ignore list.
2005-04-29 09:50:09 +00:00
Benoît Dejean
d1891b11ef Fixed gcc-4.0 warnings.
* glibtop_private.h: Fixed gcc-4.0 warnings.
2005-04-01 20:06:35 +00:00
Benoît Dejean
59fd67c7e0 Removed a g_return_if_fail.
* fsusage.c: (get_partition): Removed a g_return_if_fail.
2005-03-29 13:16:58 +00:00
Benoît Dejean
bbc10e3790 Fixed behaviour when locale is not C s/strtod/g_ascii_strod/. (strtod
* loadavg.c: (glibtop_get_loadavg_s):
	* uptime.c: (glibtop_get_uptime_s): Fixed behaviour when locale is not C
	s/strtod/g_ascii_strod/. (strtod behaviour is locale specific, which is bad
	because linux /proc is always C.
2005-03-27 14:30:30 +00:00
Benoît Dejean
3c0e03ee89 s/strerror/g_strerror/.
* open.c: (_glibtop_getkval): s/strerror/g_strerror/.
2005-03-25 13:25:01 +00:00
Benoît Dejean
fa9216f771 s/strerror/g_strerror/g.
* error.c: (glibtop_error_io_vr), (glibtop_warn_io_vr):
	* error_suid.c: (glibtop_error_io_vr), (glibtop_warn_io_vr):
	s/strerror/g_strerror/g.
2005-03-25 13:24:14 +00:00
Benoît Dejean
83a9bef192 s/strerror/g_strerror/.
* netload.c: (get_ipv6): s/strerror/g_strerror/.
2005-03-25 13:23:24 +00:00