2007-05-20 Benoît Dejean * *.c: Got rid of glibtop_init_s calls. If i'm right, these are only no-op and the legacy stub/ don't have any calls to them, so it's should harmless. So let's try it. 2007-05-19 Benoît Dejean * proclist.c: (glibtop_get_proclist_s): Fixed warnings. 2007-05-17 Benoît Dejean * procopenfiles.c: (glibtop_get_proc_open_files_s): Added missing sizeof. 2007-05-07 Benoît Dejean * procwd.c: Always set buf->number. 2007-05-07 Benoît Dejean * glibtop_private.c (safe_readlink): Simplified. * procopenfiles.c: Use safe_readlink. 2007-05-07 Benoît Dejean * procwd.c: Implemented. * glibtop_private.c (safe_readlink): New function. 2007-03-13 Benoît Dejean * fsusage.c: (get_sys_path), (linux_2_6_0): Fixed stat parsing for md devices. Patch by Martin Bailey . 2007-02-15 Benoît Dejean * procmap.c: (add_smaps): Some more const. 2007-01-14 Benoît Dejean * procmap.c: (glibtop_get_proc_map_s): * procopenfiles.c: (parse_file): Fixed stack overflow in proc_map. Switched to Glibc getline because fgets gets fooled by long lines. Closes #396477. 2007-01-11 Benoît Dejean * glibtop_private.c: (get_scaled): Replaced two strstr by a hand-written loop in this critical code. 2006-09-11 Benoît Dejean * procmap.c: (glibtop_get_proc_map_s): Fixed parsing s?maps on 64bit kernel. Closes #355290. Removed useless casts. 2006-08-10 Benoît Dejean * open.c: (glibtop_open_s): Only print the warning if (number of real cpu's) != (number of cpu's monitored). Patch by Wouter Bolsterlee (uws) . Closes #350705. 2006-07-27 Benoît Dejean * netload.c: (glibtop_get_netload_s): Updated implementation. 2006-07-27 Benoît Dejean * glibtop_private.c: (has_sysfs): * glibtop_private.h: * netload.c: (glibtop_get_netload_s): * open.c: (set_linux_version): New has_sysfs function to avoid stating over and over '/sys' on each netload call. 2006-04-02 Benoît Dejean * 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-01-23 Benoît Dejean * procmap.c: (glibtop_get_proc_map_s): I can't believe i've been so stupid :) Uses smaps if linux > 2.6.14. 2005-12-15 Benoît Dejean * proclist.c: (glibtop_get_proclist_s): Fixed when which == GLIBTOP_KERN_PROC_UID. Closes #324055. 2005-12-14 Benoît Dejean * open.c: (glibtop_open_s): Implemented server->real_ncpu. Add a warning to display ncpu and real_ncpu on open. 2005-12-13 Benoît Dejean * 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-12 Benoît Dejean * procmap.c: (add_smaps), (glibtop_get_proc_map_s): Implemented smap support. Closes #320710. 2005-12-12 Benoît Dejean * proclist.c: (glibtop_get_proclist_s): Improved so that it doesn't stat(2) every /proc//. 2005-12-07 Benoît Dejean * 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-10-29 Benoît Dejean * glibtop_private.c: (read_boot_time): Removed 1 g_return_*. 2005-08-15 Benoît Dejean * cpu.c: (glibtop_get_cpu_s): Do not add irq, softirq and iowait to idle. 2005-08-04 Benoît Dejean * open.c: (set_linux_version), (glibtop_open_s): Reworked a bit. Warn on 2.6 without /sys. 2005-08-03 Benoît Dejean * netload.c: (glibtop_get_netload_s): Fixed for people running 2.6 without /sys. 2005-08-02 Benoît Dejean * glibtop_server.h: Added GLIBTOP_SUID_NETLIST. 2005-07-23 Benoît Dejean * uptime.c: Fixed .flags. 2005-07-22 Benoît Dejean * 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-09 Benoît Dejean * 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-07 Benoît Dejean * glibtop_private.c: (read_boot_time), (get_boot_time): Cached boot_time. 2005-07-06 Benoît Dejean 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-06-13 Benoît Dejean * glibtop_private.c: (try_file_to_buffer): Ensures buffer is 0-terminated. 2005-06-13 Benoît Dejean * swap.c: (glibtop_get_swap_s): Added pagein/pageout for linux 2.6. 2005-05-26 Benoît Dejean * siglist.c: Fixed compilation on mips. Closes #304570. 2005-04-01 Benoît Dejean * glibtop_private.h: Fixed gcc-4.0 warnings. 2005-03-29 Benoît Dejean * fsusage.c: (get_partition): Removed a g_return_if_fail. 2005-03-27 Benoît Dejean * 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-25 Benoît Dejean * netload.c: (get_ipv6): s/strerror/g_strerror/ 2005-03-25 Benoît Dejean * siglist.c: Updated. 2005-02-15 Benoît Dejean * fsusage.c: Fixed G_GNUC attribute usage. 2005-01-22 Benoît Dejean * procopenfiles.c: (parse_file), (get_all), (inet_socket_parser), (get_all_inet_sockets), (local_socket_parser), (get_all_local_sockets), (glibtop_get_proc_open_files_s): Total rewrite. socket/localsocket should be much faster. 2005-01-16 Benoît Dejean * glibtop_private.c: (skip_token): * glibtop_private.h: Uninlined. 2005-01-13 Benoît Dejean * fsusage.c: (get_partition), (get_sys_path), (linux_2_6_0): Reworked. Should works with IDE, SCSI. DM support is ready, but i don't know why their /stat is empty ... 2005-01-12 Benoît Dejean * procopenfiles.c: (get_all_sockets), (glibtop_get_proc_open_files_s): Parses /proc/net/tcp only once. 2005-01-10 Benoît Dejean * procopenfiles.c: (get_socket_endpoint): Fixed. 2005-01-10 Benoît Dejean * glibtop_server.h: * procopenfiles.c: (get_socket_endpoint): Disabled. (glibtop_get_proc_open_files_s): Secured -> g_snprintf. 2004-12-23 Benoît Dejean * fsusage.c: (_glibtop_linux_get_fsusage_read_write): * glibtop_private.h: Marked private functions G_GNUC_INTERNAL. 2004-11-30 Benoît Dejean * proclist.c: (glibtop_get_proclist_s): Glibified. g_array_free which returns a char* ! If you want to change this, please tell them http://bugzilla.gnome.org/show_bug.cgi?id=145767 . 2004-11-28 Benoît Dejean * Makefile.am: * cpu.c: * fsusage.c: * glibtop_private.c: (get_scaled), (try_file_to_buffer), (file_to_buffer): Added * glibtop_private.h: Added * glibtop_server.c: Removed * glibtop_server.h: * loadavg.c: * mem.c: * netload.c: * open.c: * prockernel.c: * procmem.c: * procsegment.c: * procsignal.c: * procstate.c: * proctime.c: * procuid.c: * swap.c: * sysinfo.c: * uptime.c: Moved linux impl utils function from glibtop_server.* to glibtob_private.* because glibtop_server.h is a public header. 2004-11-15 Benoît Dejean * netload.c: (get_ipv6), (glibtop_get_netload_s): Added a check for NULL pointer when wlaking though interfaces (though i don't understand why some interface don't have an ifa_addr). Move all ipv6 code into a separate function. Added a paranoid check on getifaddrs. 2004-11-13 Benoît Dejean * netlist.c: (glibtop_get_netlist_s): Killed warning. 2004-10-26 Benoît Dejean * proctime.c: (glibtop_get_proc_time_s): Set .rtime. At last ! 2004-09-24 Benoît Dejean * loadavg.c: (glibtop_get_loadavg_s): * msg_limits.c: (glibtop_get_msg_limits_s): * shm_limits.c: (glibtop_get_shm_limits_s): Small cleanup. 2004-09-23 Benoît Dejean * glibtop_server.c: * glibtop_server.h: * procmem.c: (glibtop_get_proc_mem_s): * procsegment.c: (glibtop_get_proc_segment_s): Removed get_pageshift(). Every one can affort a * instead of a >>, no need for this kind of non-reentrant optimization. Saved 144B (obviously perfect cleanup ;) 2004-09-22 Benoît Dejean * glibtop_server.c: Removed #warning, my gcc is not buggy anymore. 2004-09-21 Benoît Dejean * fsusage.c: (linux_2_6_0), (linux_2_4_0), (_glibtop_linux_get_fsusage_read_write): Back to previous version. Now set .flags correctly. 2004-09-19 Benoît Dejean * fsusage.c: (linux_2_6_0), (linux_2_4_0), (_glibtop_linux_get_fsusage_read_write): Updated to match new prototype. 2004-09-19 Benoît Dejean * mem.c: (glibtop_get_mem_s): Added missing memset( , 0, ). 2004-08-03 Benoît Dejean * glibtop_server.h: Added next_token(). Changed skip_token(), i hope it won't break any bad code. * procstate.c: (glibtop_get_proc_state_s): Used next_token. * proctime.c: (glibtop_get_proc_time_s): Implemented .start_time the way it ought to be. Clean ups 2004-07-22 Benoît Dejean * netload.c: (glibtop_get_netload_s): Fixed leak. * proctime.c: (glibtop_get_proc_time_s): Don't set .timeout anymore. 2004-07-17 Benoît Dejean * Makefile.am: * fsusage.c: (linux_2_6_0), (linux_2_4_0), (_glibtop_linux_get_fsusage_read_write): Added to repository. WIP. * glibtop_server.h: LINUX_VERSION -> LINUX_VERSION_CODE * netload.c: (glibtop_get_netload_s): Cleanups. Added support for hardware address. s/LINUX_VERSION/LINUX_VERSION_CODE/ * open.c: (get_linux_version): s/LINUX_VERSION/LINUX_VERSION_CODE/ * procmap.c: (glibtop_get_proc_map_s): glibify: used GArray * procuid.c: (glibtop_get_proc_uid_s): s/LINUX_VERSION/LINUX_VERSION_CODE/. Used Linux MKDEV. 2004-07-15 Benoît Dejean * procstate.c: (glibtop_get_proc_state_s): Wake, we're libgtop2.7.x, lets get rid of old buf->state format. Now using bitfield instead letters. 2004-07-07 Benoît Dejean * procargs.c: (glibtop_get_proc_args_s): Fixed. error is now correctly set to NULL before is's used. Fixed max_len behaviour. 2004-07-03 Benoît Dejean * sysinfo.c: (init_sysinfo): Removed useless memset. 2004-07-03 Benoît Dejean * glibtop_server.h: * glibtop_server.c: (try_file_to_buffer), (file_to_buffer): Added. These functions are commonly used. Misc cleanups. * cpu.c: (glibtop_get_cpu_s): * loadavg.c: (glibtop_get_loadavg_s): * mem.c: (glibtop_get_mem_s): * open.c: (glibtop_open_s): * swap.c: (glibtop_get_swap_s): * sysinfo.c: (init_sysinfo): * uptime.c: (glibtop_get_uptime_s): Replaced open/read/close by file_to_buffer(). 2004-06-18 Benoît Dejean * loadavg.c: (glibtop_get_loadavg_s): Whitespace cleanup. * ppp.c: (get_ISDN_stats), (is_ISDN_on): Replace g_malloc by an array. * glibtop_server.c: (get_pageshift): * glibtop_server.h: * procmem.c: (glibtop_init_proc_mem_s), (glibtop_get_proc_mem_s): * procsegment.c: (glibtop_init_proc_segment_s), (glibtop_get_proc_segment_s): Moved the pageshift calculation to glibtop_server.[ch] * procstate.c: (glibtop_get_proc_state_s): * procuid.c: (glibtop_get_proc_uid_s): * sysinfo.c: (init_sysinfo): Minor cleanups. 2004-06-18 Benoît Dejean * netload.c: (glibtop_get_netload_s): Implemented new IPv6 feature. 2004-06-13 Benoît Dejean * procargs.c: (glibtop_get_proc_args_s): Replaced by g_file_get_contents. 2004-06-13 Benoît Dejean * glibtop_server.h: * glibtop_server.c: (get_scaled): Cleaned. (proc_file_to_buffer): Uninlined. * sysinfo.c: (init_sysinfo): Re-implemented. Fixed segfault on SMP. Stores keys in cpuinfo->labels. 2004-06-12 Benoît Dejean * Makefile.am: * glibtop_server.c: Added to repository. * glibtop_server.h: (get_scaled): Uninlined and moved it to glibtop_server.c. (skip_token) : Fixed indentation. * procmap.c: (glibtop_get_proc_map_s): Big cleanup. Better allocation algorithm. * procmem.c: * procsegment.c: Added missing initializations. * sem_limits.c: * shm_limits.c: (glibtop_get_shm_limits_s): * swap.c: * uptime.c: Added missing const qualifiers. * sysinfo.c: (init_sysinfo): Added missing 0 initialization. Saved 1 gboolean :D. 2004-06-08 Benoît Dejean * procuid.c: (glibtop_get_proc_uid_s): Whitespace clean up. 2004-06-08 Benoît Dejean * glibtop_server.h: Small clean up. 2004-06-07 Benoît Dejean * glibtop_machine.h (skip_token): Removed. * glibtop_server.h (skip_multiple_token): Cleaned. * netload.c: (glibtop_get_netload_s): Replaced unsafe strcpy by g_strlcpy. * procmap.c: (glibtop_get_proc_map_s): s/strncpy/g_strlcpy/. * procstate.c: (glibtop_get_proc_state_s): Likewise. * sysinfo.c: (init_sysinfo): Cleaned. 2004-05-26 Benoît Dejean * cpu.c: (glibtop_get_cpu_s): Cleaned whitespaces. * open.c: (get_linux_version), (glibtop_open_s): Removed get_linux_version() Cleaned. Remove static struct utsname. 2004-05-26 Benoît Dejean * glibtop_server.h: * open.c: * procuid.c: Moved LINUX_VERSION macro to glibtop_server.h. * Changelog: Converted to UTF-8. 2004-05-19 Benoît Dejean * glibtop_server.h (skip_line): Added test for end of string. (get_scaled): Cleaned. * cpu.c (glibtop_get_cpu_s): * open.c (glibtop_open_s): Fixed SMP detection. Closes #142597. * uptime.c (glibtop_get_uptime_s): Added boot_time. 2004-03-09 Bastien Nocera * cpu.c: (glibtop_get_cpu_s): fixup CPU usage calculation on 2.6 kernels (patch by Benoît Dejean ) (Closes: #134252) 2004-03-04 Bastien Nocera * ppp.c: use a config.h define instead of copying the values in the file (Closes: #126504) 2004-02-02 Sebastien Bacher * sysdeps/linux/mem.c: (glibtop_get_mem_s): patch from Benoît Dejean to fix libtop_mem.used and glibtop_mem.shared values (Closes: #129863). 2003-12-23 Bastien Nocera * cpu.c: (glibtop_get_cpu_s): * glibtop_server.h: * loadavg.c: (glibtop_get_loadavg_s): * mem.c: (glibtop_get_mem_s): * netload.c: (glibtop_get_netload_s): * prockernel.c: (glibtop_get_proc_kernel_s): * procmem.c: (glibtop_get_proc_mem_s): * procsegment.c: (glibtop_get_proc_segment_s): * procsignal.c: (glibtop_get_proc_signal_s): * proctime.c: (glibtop_get_proc_time_s): * procuid.c: (glibtop_get_proc_uid_s): * swap.c: (glibtop_get_swap_s): Apply patch from Benoît Dejean to fix overflow issues using strtol (Closes: #129881) 2003-12-23 Bastien Nocera * mem.c: (glibtop_get_mem_s): Fix calculation of used memory, patch by Benoît Dejean, (Closes: #129863) 2003-12-07 Jon K Hellan * ppp.c: Copy needed defines from linux/isdn.h instead of including it, unbreaking build with linux 2.6 kernel headers. 2003-10-21 Bastien Nocera * Makefile.am: install only one library, libgtop-2.0 Fix build-time warnings due to the redefinition of guint64 2003-10-20 Bastien Nocera * glibtop_server.h: * mem.c: (glibtop_get_mem_s): * swap.c: (glibtop_get_swap_s): committing patch from Sebastien Bacher for Linux 2.6 support (Closes: #104747) 2003-10-20 Bastien Nocera * cpu.c: (glibtop_get_cpu_s): * procmap.c: (glibtop_get_proc_map_s): s/u_int64_t/guint64/ 2003-10-20 Bastien Nocera * glibtop_machine.h: * glibtop_server.h: * ppp.c: * procargs.c: (glibtop_get_proc_args_s): * proclist.c: * procmap.c: fixed compilation 2003-10-20 Bastien Nocera * ppp.c: (get_ISDN_stats): * procargs.c: (glibtop_get_proc_args_s): * proclist.c: (glibtop_get_proclist_s): * procmap.c: (glibtop_get_proc_map_s): replace all the xmalloc crap by glib memory management functions 2001-10-17 Abel Cheung * Makefile.am: move header to $(includedir)/libgtop-1.0/glibtop. 2001-02-13 Martin Baulig Fix bug #14076. * open.c (glibtop_open_s): Check whether /proc/1/cpu exists to detect SMP support rather than reading /proc/stat; on Linux 2.4.x, /proc/stat has "cpu" and "cpu0" entries even for non-SMP systems. 2000-01-22 Martin Baulig * procargs.c (glibtop_get_proc_args_s): Set correct `buf->size' and `buf->flags' fields when `max_length' was given. Fixes #5183. 1999-11-28 Martin Baulig * procstate.c (glibtop_get_procstate_s): Stat "/proc/" instead of "/proc//state" to get `uid' and `gid'. Thanks to Jason Becker for pointing out that GTop reported wrong uid's. 1999-10-19 Martin Baulig * uptime.c (glibtop_get_uptime_s): Don't cast uptime and idletime to float as suggested by John Kodis. 1999-07-29 Martin Baulig * proctime.c (glibtop_get_proctime_s): Don't provide `rtime' any longer since we must not use `rtime = utime + stime'. 1999-02-20 Martin Baulig * netload.c: Don't include for libc5 systems since it is no longer required and makes trouble on Slakware. 1999-01-06 Martin Baulig * netload.c (glibtop_get_netload_s): Use `server->os_version_code' instead of GLIBTOP_LINUX_VERSION_CODE. 1999-01-06 Martin Baulig Unconditionally enable SMP support for linux. * open.c (_glibtop_open_s): Always determine the number of CPUs we have here, not only when SMP support was enabled. * cpu.c, proctime.c: Use `server->ncpu' to determine whether to enable SMP support. 1998-12-28 Martin Baulig * netload.c: When using glibc, don't include any longer but all headers that were included there; we only needed this file to get those headers. 1998-12-09 Martin Baulig * procargs.c (glibtop_get_proc_args_s): Added implementation for this function. 1998-12-03 Martin Baulig * netload.c: No longer include , but use GLIBTOP_LINUX_VERSION_CODE which is set by configure instead. Define _GLIBTOP_IP_FW_ACCTIN and _GLIBTOP_IP_FW_ACCTOUT here and use them instead of IP_FW_F_ACCTIN and IP_FW_F_ACCTOUT. 1998-11-30 Martin Baulig * netload.c: Use correct header files both for libc5 and glibc. With Linux >= 2.1.114 we no longer use IP accounting since it already has byte counts in /proc/net/dev. 1998-11-22 Martin Baulig * netload.c (glibtop_get_netload_s): Added implementation for this function. The code here is smart enough to use /proc/net/ip_acct if IP accounting is enabled in the kernel and activated on the requested device and /proc/net/dev if not. To get separate statistics for received and transmitted packets you need to use two accounting rules: ipfwadm -A in -a -P all -W eth0 ipfwadm -A out -a -P all -W eth0 But before you activate IP accounting, please have a look at /proc/net/dev - if if already contains byte counters, then don't use IP accounting. 1998-10-28 Martin Baulig * ppp.c: Added code for ISDN here. 1998-10-26 Martin Baulig * netload.c: New file. Currently empty. 1998-10-26 Martin Baulig * procargs.c: New file. Currently empty. 1998-10-25 Martin Baulig * ppp.c: New file. Currently empty. 1998-10-11 Martin Baulig * procdata.c: Removed this obsolete file. 1998-10-02 Martin Baulig * proclist.c (glibtop_init_proclist_s): You can now also use the `GLIBTOP_EXCLUDE_*' flags for the `which' parameter. 1998-10-01 Martin Baulig * proclist.c (glibtop_init_proclist_s): Honor the `which' parameter to select which processes to fetch. 1998-09-12 Martin Baulig * sysinfo.c: New file. 1998-09-09 Martin Baulig * proctime.c (glibtop_get_proc_time_s): Added SMP support. * open.c (glibtop_init_s): Initialize `ncpu' on SMP systems. * cpu.c (glibtop_get_cpu_s): Added SMP support. * ChangeLog: New file.