Commit Graph

146 Commits

Author SHA1 Message Date
Joe Marcus Clarke
08fd95d253 Fix numerous bigs in the FreeBSD backend
* Correct calculation of CPU time.
* Fix a bug on newer versions of FreeBSD where computing the process map leads
to a tight error loop.
* Add support for the new procstat API to obtain the list of open files and
cwd.
* Use kvm_openfiles instead of kvm_open to better handle error messages.
* Split some modules out into non-suid modules.
* Properly determine the number of CPUs.

https://bugzilla.gnome.org/show_bug.cgi?id=605431
2011-06-27 16:32:20 +02:00
Alexander Kojevnikov
f787bfa0c7 freebsd: Fix get_mem() on 64-bit systems (bgo#630128) 2010-10-03 10:17:58 +11:00
Benoît Dejean
10a04fc9c7 Improved freebsd port.
Patch by Joe Marcus Clarke <marcus@freebsd.org>.
Closes #548184.

svn path=/trunk/; revision=2767
2008-08-18 16:11:07 +00:00
Benoît Dejean
1d5f2cb395 Fixed build on GNU/kFreeBSD.
Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
Closes #507430.

svn path=/trunk/; revision=2698
2008-01-05 13:45:31 +00:00
Benoît Dejean
86ace13645 Fixed unit of vsize and resident.
Patch by Kuang-che Wu <kcwu@csie.org>.
Closes #506889.

svn path=/trunk/; revision=2697
2008-01-05 13:45:17 +00:00
Benoît Dejean
bc848239ff Forgot to add these files.
svn path=/trunk/; revision=2618
2007-07-02 15:47:24 +00:00
Benoît Dejean
0285e018f4 Fixe some problems as well as implements procwd and procopenfiles for
2007-07-01  Benoît Dejean  <benoit@placenet.org>

	Fixe some problems as well as implements procwd and procopenfiles
	for FreeBSD using a wrapper around lsof. This same backend should
	also work on kFreeBSD.

	Patch by Joe Marcus Clarke <marcus@freebsd.org>

svn path=/trunk/; revision=2617
2007-07-01 13:21:07 +00:00
Benoît Dejean
c7295cd5f0 Got rid of G_GNUC_INTERNAL.
svn path=/trunk/; revision=2601
2007-05-31 20:31:22 +00:00
Benoît Dejean
65fe248d66 Got rid of G_GNUC_INTERNAL.
svn path=/trunk/; revision=2600
2007-05-31 20:04:32 +00:00
Benoît Dejean
aa9fafe5c3 Renamed all glibtop_init_xxx functions to _glibtop_init_xxx so they get
2007-04-11  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Renamed all glibtop_init_xxx functions
	to _glibtop_init_xxx so they get internal visibility.

	* configure.in:
	
	Bumped version number.

svn path=/trunk/; revision=2569
2007-04-11 17:52:14 +00:00
Benoît Dejean
04a5531a46 Removed noisy $Id$.
2007-02-20  Benoît Dejean  <benoit@placenet.org>

	* *:
	
	Removed noisy $Id$.

svn path=/trunk/; revision=2558
2007-02-19 23:10:10 +00:00
Benoît Dejean
5a15e409cf Huge (k)FreeBSD update. (k)FreeBSD support is freebsd/ Other BSD are in
2007-02-18  Benoît Dejean  <benoit@placenet.org>

	* configure.in:
	* libgtop-sysdeps.m4:
	* sysdeps/Makefile.am:
	
	Huge (k)FreeBSD update.
	(k)FreeBSD support is freebsd/
	Other BSD are in bsd/
	
	Patch by Joe Marcus Clarke  <marcus@freebsd.org>
	Alexander Nedotsukov  <bland@FreeBSD.org>
	
	Closes #407693.

svn path=/trunk/; revision=2557
2007-02-18 01:10:53 +00:00
Benoît Dejean
c6a7459bc9 Various FreeBSD and kFreeBSD updates. Patch by Roy Marples
2007-01-31  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):
	* netload.c: (glibtop_get_netload_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* proctime.c:
	* siglist.c:
	* /libgtop-sysdeps.m4:
	
	Various FreeBSD and kFreeBSD updates.
	Patch by Roy Marples  <uberlord@gentoo.org>.
	Reviewed by Petr Salinger  <Petr.Salinger@seznam.cz>.
	Closes #387200.

svn path=/trunk/; revision=2550
2007-01-31 21:23:21 +00:00
Benoît Dejean
c9385972bd Bumped version number to 2.14.6.
2007-01-11  Benoît Dejean  <benoit@placenet.org>

	* configure.in:
	
	Bumped version number to 2.14.6.
	
	* *:
	
	Got rid of CVS admin files.

svn path=/trunk/; revision=2545
2007-01-11 20:35:33 +00:00
Benoît Dejean
0b438b5250 Added kfreebsd support. Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-11-27  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):
	* mem.c: (glibtop_get_mem_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* proclist.c: (glibtop_get_proclist_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procsignal.c: (glibtop_get_proc_signal_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* proctime.c:
	* procuid.c: (glibtop_get_proc_uid_p):
	* swap.c: (glibtop_init_swap_p), (glibtop_get_swap_p):

	Added kfreebsd support.
	Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-11-27 19:22:45 +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
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
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
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
0561316344 Forgot to add this file.
* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write): Forgot to add
	this file.
2005-02-28 08:54:41 +00:00
Benoît Dejean
2c0f291b3c Fix a bug in netlist where glibtop_netlist.number was never initialized to
* Makefile.am:
	* cpu.c: (glibtop_get_cpu_p):
	* netlist.c: (glibtop_get_netlist_s):
	* netload.c: (glibtop_get_netload_p):
	* procmem.c: (glibtop_get_proc_mem_p):

	Fix a bug in netlist where glibtop_netlist.number was never initialized to 0
	(this resulted in a NULL pointer dereference in the network load feature
	of the multiload applet)

	* Add support for getting interface flags and packet counts even on interfaces
	without IP addresses (needed for the network load feature of the multiload applet)

	* Restore per-process limits in the !FreeBSD or __FreeBSD_version < 500013
	case

	* Add CPU interrupt time as IOWAIT to get support for the cpu load feature of
	the multiload applet.

	Patch from marcus@freebsd.org (Joe Marcus Clarke).
	Closes #168704.
2005-02-28 08:15:59 +00:00
Benoît Dejean
717ee1c88f Add support for FreeBSD 6-CURRENT. Use the more portable getrlimit to
* Makefile.am:
	* netlist.c: (glibtop_get_netlist_s):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procopenfiles.c: (glibtop_init_proc_open_files_s),
	(glibtop_get_proc_open_files_s):
	* proctime.c:

	Add support for FreeBSD 6-CURRENT.
	Use the more portable getrlimit to obtain process memory limits.
	Correctly determine process time.
	Stub out the procopenfiles() function (this is not yet implemented, however).
	Fix a nasty infinite loop and memory leak due to a forgot pointer increment.

	Patch from marcus@freebsd.org (Joe Marcus Clarke).
	Closes #168232.
2005-02-23 08:20:45 +00:00
Benoît Dejean
fe5bb1c39c Added glibtop_get_netlist. Patch from marcus@freebsd.org (Joe Marcus
* Makefile.am:
	* netlist.c: (glibtop_init_netlist_s), (glibtop_get_netlist_s):
	Added glibtop_get_netlist. Patch from marcus@freebsd.org (Joe Marcus Clarke).
2004-12-05 12:01:43 +00:00
Benoît Dejean
60c8aae6d9 Merge a bunch of trivial OpenBSD patchs. To *BSD maintainers : please
* mem.c: (glibtop_get_mem_p):
	* ppp.c:
	* swap.c: (glibtop_init_swap_p), (glibtop_get_swap_p):
	* uptime.c: (glibtop_get_uptime_p): Merge a bunch of trivial OpenBSD
	patchs. To *BSD maintainers : please report bugs ! don't be selfish, share
	your patchs.
2004-08-28 20:55:37 +00:00
Benoît Dejean
ff160fa9f3 Merged Marcus' patches.
* procstate.c:
	* uptime.c: (glibtop_get_uptime_p): Merged Marcus' patches.
2004-08-22 19:29:05 +00:00
Benoît Dejean
ff4fe5e846 Glibify a bit more. Closes #147618.
* doc/reference.texi:
	* include/glibtop/command.h:
	* include/glibtop/glib-arrays.h:
	* include/glibtop/proclist.h:
	* lib/glib-arrays.c: (glibtop_get_proclist_as_array_l):
	* lib/lib.pl:
	* scripts/c_types.pl:
	* src/daemon/main.c: (handle_parent_connection):
	* src/daemon/slave.c: (handle_slave_connection):
	* support/mkstemp.c:
	* sysdeps/aix/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/freebsd/cpu.c: (glibtop_get_cpu_p):
	* sysdeps/freebsd/prockernel.c: (glibtop_get_proc_kernel_p):
	* sysdeps/freebsd/proclist.c: (glibtop_get_proclist_p):
	* sysdeps/freebsd/procmem.c: (glibtop_get_proc_mem_p):
	* sysdeps/kernel/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/linux/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/osf1/proclist.c: (glibtop_get_proclist_p):
	* sysdeps/solaris/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/stub/proclist.c: (glibtop_get_proclist_s):
	* sysdeps/stub_suid/proclist.c: (glibtop_get_proclist_p):
	* sysdeps/sun4/proclist.c: (glibtop_get_proclist_p): Glibify a bit more.
	Closes #147618.
2004-07-18 20:33:56 +00:00
Benoît Dejean
18abf86346 Fixed copy/paste error while setting buf->state.
* procstate.c: (glibtop_get_proc_state_p): Fixed copy/paste error
	while setting buf->state.
2004-07-15 20:53:53 +00:00
Benoît Dejean
a08c8d96bb *** empty log message *** 2004-06-20 22:10:52 +00:00
Benoît Dejean
b279819639 *** empty log message *** 2004-06-18 20:33:01 +00:00
Benoît Dejean
70b0925a82 whitespace clean up.
* *.{c,h} : whitespace clean up.
2004-06-09 18:52:22 +00:00
Benoît Dejean
2f87aa4479 s/strncpy/g_strlcpy/.
* netload.c: (glibtop_get_netload_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* prockernel.c: (glibtop_get_proc_kernel_p): s/strncpy/g_strlcpy/.

	* procargs.c: (glibtop_get_proc_args_p):
	* procmap.c: (glibtop_get_proc_map_p): Cleaned.
2004-06-06 22:03:57 +00:00
Benoît Dejean
0a761f37f2 Removed Linux related code.
* procdata.c: (glibtop_get_procdata_s): Removed Linux related code.
2004-05-26 11:44:00 +00:00
Bastien Nocera
07ec479243 fix typo in the #defines for FSUSAGE_BLOCK_SIZE (patch by Benot Dejean
2004-04-07  Bastien Nocera  <hadess@hadess.net>

	* include/glibtop/fsusage.h: fix typo in the #defines for
	FSUSAGE_BLOCK_SIZE (patch by Benot Dejean <TazForEver@free.fr>)

2004-04-07  Bastien Nocera  <hadess@hadess.net>

	* prockernel.c: (glibtop_get_proc_kernel_p): patch for NetBSD/AMD64
	support (Julio M. Merino Vidal <jmmv@menta.net>)
2004-04-07 10:05:51 +00:00
Bastien Nocera
4bd9752d52 implement NetBSD support, and some build problems on FreeBSD (Closes:
2004-03-09  Bastien Nocera  <hadess@hadess.net>

	* Makefile.am:
	* cpu.c: (glibtop_init_cpu_p), (glibtop_get_cpu_p):
	* glibtop_machine.h:
	* mem.c:
	* netload.c: (glibtop_get_netload_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* proclist.c: (glibtop_get_proclist_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procsignal.c: (glibtop_get_proc_signal_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* proctime.c:
	* procuid.c: (glibtop_get_proc_uid_p):
	* uptime.c: (glibtop_get_uptime_p): implement NetBSD support, and
	some build problems on FreeBSD (Closes: #135674)
2004-03-09 23:13:31 +00:00
Bastien Nocera
a795ff4847 fix g_malloc usage on non-Linux platforms (patch by Benoit Dejean
2004-03-09  Bastien Nocera  <hadess@hadess.net>

	* fix g_malloc usage on non-Linux platforms (patch by Benoit
	Dejean <bnet@ifrance.com>)
2004-03-09 23:02:06 +00:00
Bastien Nocera
31133cc3dc install only one library, libgtop-2.0 Fix build-time warnings due to the
2003-10-21  Bastien Nocera  <hadess@hadess.net>

	* Makefile.am:
	* configure.in:
	* src/inodedb/.cvsignore:
	* sysdeps/names/Makefile.am:
	install only one library, libgtop-2.0
	Fix build-time warnings due to the redefinition of guint64
2003-10-21 21:21:28 +00:00
Bastien Nocera
b2283f7c79 - s/u_int64_t/guint64/ 2003-10-20 20:12:28 +00:00
Bastien Nocera
adc9a55578 fix swap sizes in FreeBSD, patch by edwin@mavetju.org
2003-10-20  Bastien Nocera  <hadess@hadess.net>

	* swap.c: (glibtop_get_swap_p): fix swap sizes in FreeBSD,
	patch by edwin@mavetju.org
2003-10-20 19:53:28 +00:00
Bastien Nocera
b67e4c7f7d - fixed compilation 2003-10-20 15:20:16 +00:00
Bastien Nocera
ba36a20cb8 - replace all the xmalloc crap by glib memory management functions 2003-10-20 13:55:44 +00:00
Carlos Perelló Marín
4c8ae9e25c Reverted libgtop changes. It's a common module and I should not modify it.
2003-10-19  Carlos Perelló Marín <carlos@gnome.org>

	* support/*: Reverted libgtop changes. It's a common module
	and I should not modify it.
	* Added/removed files. Now the move should be done.
2003-10-19 16:55:56 +00:00
Martin Baulig
7a7c6baf55 Moved all sysdeps code to the new libgtop-backends module.
2001-04-20  Martin Baulig  <baulig@suse.de>

	Moved all sysdeps code to the new libgtop-backends module.

	* sysdeps/freesd/*: Removed.
	* sysdeps/kernel/*: Removed.
	* sysdeps/linux/*: Removed.
	* sysdeps/osf1/*: Removed.
	* sysdeps/solaris/*: Removed.
	* sysdeps/stub/*: Removed.
	* sysdeps/stub_suid/*: Removed.
	* sysdeps/sun4/*: Removed.
2001-04-20 21:06:35 +00:00
Martin Baulig
44027f6bd2 Reflect latest interface changes.
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* netinfo.c: Reflect latest interface changes.
2000-02-13 15:44:43 +00:00
Martin Baulig
3fec7a0946 kvm_nlist () returns -1 on error, but a positive return value does not
2000-02-13  Martin Baulig  <martin@home-of-linux.org>

	* *.c: kvm_nlist () returns -1 on error, but a positive return value
	does not necessarily mean failure. Fixes #3302 which was reported by
	Matthias Scheler some time ago.
2000-02-13 15:28:24 +00:00