--- a/ChangeLog Thu Nov 16 06:57:12 2006 +0000
+++ b/ChangeLog Thu Nov 16 07:11:03 2006 +0000
@@ -1,3 +1,9 @@
+
+2006-11-16 Henry Zhang <[email protected]>
+
+ * gnome-system-monitor.spec: add patch comment.
+ * libgtop.spec: add patch comment.
+
2006-11-16 Harry Lu <[email protected]>
* gnome-menus.spec: fix a typo in patch comment.
--- a/gnome-system-monitor.spec Thu Nov 16 06:57:12 2006 +0000
+++ b/gnome-system-monitor.spec Thu Nov 16 07:11:03 2006 +0000
@@ -17,6 +17,9 @@
Summary: Simple process monitor
Source: http://ftp.gnome.org/pub/GNOME/sources/%{name}/2.16/%{name}-%{version}.tar.bz2
Source1: gnome-system-monitor.1.gz
+#owner:henryz date:2006-11-15 type:feature
+#This patch make libgtop run at Solaris
+Patch1: gnome-system-monitor-01-solaris.diff
URL: http://www.gnome.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Autoreqprov: on
@@ -35,8 +38,6 @@
Requires: libwnck >= %{libwnck_version}
Requires: libgtop >= %{libgtop_version}
-Patch1: gnome-system-monitor-01-solaris.diff
-
%description
Gnome-system-monitor is a simple process and system monitor for Gnome.
@@ -105,6 +106,8 @@
%{_mandir}/man1/*
%changelog
+* Thur. Nov. 16 2006 - [email protected]
+- add patch comments.
* Mon Oct 02 2006 - [email protected]
- Bump to 2.16.1.
* Wed Sep 06 2006 - [email protected]
--- a/libgtop.spec Thu Nov 16 06:57:12 2006 +0000
+++ b/libgtop.spec Thu Nov 16 07:11:03 2006 +0000
@@ -17,6 +17,8 @@
Summary: libgtop System Information Library
Source: http://ftp.gnome.org/pub/GNOME/sources/libgtop/2.14/libgtop-%{version}.tar.bz2
URL: http://www.gnome.org
+#owner:henryz date:2006-11-15 type:feature
+#This patch make libgtop run at Solaris
Patch1: libgtop-01-solaris.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Docdir: %{_defaultdocdir}/dir
@@ -104,6 +106,8 @@
%{_libdir}/*.so
%changelog
+* Thur. Nov. 16 2006 - [email protected]
+- add patch comments.
* Tue Sep 26 2006 - [email protected]
- Bump to 2.14.4.
* Wed Sep 06 2006 - [email protected]
--- a/patches/gnome-system-monitor-01-solaris.diff Thu Nov 16 06:57:12 2006 +0000
+++ b/patches/gnome-system-monitor-01-solaris.diff Thu Nov 16 07:11:03 2006 +0000
@@ -1,6 +1,6 @@
-diff -Nrup gnome-system-monitor-2.16.0/src/callbacks.c gnome-system-monitor-2.16.0.mod/src/callbacks.c
---- gnome-system-monitor-2.16.0/src/callbacks.c 2006-07-14 03:24:49.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/callbacks.c 2006-09-19 20:45:12.854554000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/callbacks.c gnome-system-monitor-2.16.1.mod/src/callbacks.c
+--- gnome-system-monitor-2.16.1/src/callbacks.c 2006-07-14 03:24:49.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/callbacks.c 2006-11-13 20:26:32.071084000 +0800
@@ -452,7 +452,11 @@ cb_timeout (gpointer data)
return FALSE;
}
@@ -14,9 +14,9 @@
}
-diff -Nrup gnome-system-monitor-2.16.0/src/callbacks.h gnome-system-monitor-2.16.0.mod/src/callbacks.h
---- gnome-system-monitor-2.16.0/src/callbacks.h 2005-07-13 22:35:04.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/callbacks.h 2006-09-19 20:46:01.672038000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/callbacks.h gnome-system-monitor-2.16.1.mod/src/callbacks.h
+--- gnome-system-monitor-2.16.1/src/callbacks.h 2005-07-13 22:35:04.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/callbacks.h 2006-11-13 20:26:32.071324000 +0800
@@ -25,64 +25,64 @@
#include "procman.h"
#include <libgnomevfs/gnome-vfs.h>
@@ -131,9 +131,9 @@
#endif /* _PROCMAN_CALLBACKS_H_ */
-diff -Nrup gnome-system-monitor-2.16.0/src/favorites.h gnome-system-monitor-2.16.0.mod/src/favorites.h
---- gnome-system-monitor-2.16.0/src/favorites.h 2005-03-17 17:23:13.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/favorites.h 2006-09-19 20:46:48.381302000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/favorites.h gnome-system-monitor-2.16.1.mod/src/favorites.h
+--- gnome-system-monitor-2.16.1/src/favorites.h 2005-03-17 17:23:13.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/favorites.h 2006-11-13 20:26:32.076242000 +0800
@@ -26,15 +26,15 @@
#include "procman.h"
@@ -157,9 +157,9 @@
+G_GNUC_INTERNAL void create_blacklist_dialog (ProcData *procdata) ;
#endif
-diff -Nrup gnome-system-monitor-2.16.0/src/interface.c gnome-system-monitor-2.16.0.mod/src/interface.c
---- gnome-system-monitor-2.16.0/src/interface.c 2006-08-18 00:50:42.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/interface.c 2006-09-19 20:55:33.695148000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/interface.c gnome-system-monitor-2.16.1.mod/src/interface.c
+--- gnome-system-monitor-2.16.1/src/interface.c 2006-08-18 00:50:42.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/interface.c 2006-11-13 20:26:32.065079000 +0800
@@ -240,12 +240,13 @@ create_sys_view (ProcData *procdata)
GtkWidget *cpu_box, *mem_box, *net_box;
GtkWidget *cpu_hbox, *mem_hbox, *net_hbox;
@@ -569,9 +569,9 @@
procdata->net_graph = net_graph;
-diff -Nrup gnome-system-monitor-2.16.0/src/interface.h gnome-system-monitor-2.16.0.mod/src/interface.h
---- gnome-system-monitor-2.16.0/src/interface.h 2005-03-17 22:23:42.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/interface.h 2006-09-19 20:57:01.020077000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/interface.h gnome-system-monitor-2.16.1.mod/src/interface.h
+--- gnome-system-monitor-2.16.1/src/interface.h 2005-03-17 22:23:42.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/interface.h 2006-11-13 20:26:32.065343000 +0800
@@ -25,9 +25,9 @@
#include "procman.h"
@@ -586,12 +586,12 @@
+G_GNUC_INTERNAL GtkWidget * make_title_label (const char *text) ;
#endif /* _PROCMAN_INTERFACE_H_ */
-diff -Nrup gnome-system-monitor-2.16.0/src/load-graph.c gnome-system-monitor-2.16.0.mod/src/load-graph.c
---- gnome-system-monitor-2.16.0/src/load-graph.c 2006-08-18 00:50:03.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/load-graph.c 2006-09-19 21:03:32.426217000 +0800
-@@ -350,6 +350,21 @@ get_net (LoadGraph *g)
-
- ifnames = glibtop_get_netlist(&netlist);
+diff -Nrup gnome-system-monitor-2.16.1/src/load-graph.c gnome-system-monitor-2.16.1.mod/src/load-graph.c
+--- gnome-system-monitor-2.16.1/src/load-graph.c 2006-08-18 00:50:03.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/load-graph.c 2006-11-13 20:26:32.073407000 +0800
+@@ -348,6 +348,20 @@ get_net (LoadGraph *g)
+ float din, dout;
+ gchar *text1, *text2;
+ /* we have to optimize the performance of libgtop, because in some low level machine,
+ to update the information will occupy too much cpu.
@@ -606,14 +606,13 @@
+ */
+
+ netlist.flags = 1;
-+
-+
++
+ ifnames = glibtop_get_netlist(&netlist);
+
for (i = 0; i < netlist.number; ++i)
- {
- glibtop_netload netload;
-diff -Nrup gnome-system-monitor-2.16.0/src/load-graph.h gnome-system-monitor-2.16.0.mod/src/load-graph.h
---- gnome-system-monitor-2.16.0/src/load-graph.h 2006-01-02 17:28:58.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/load-graph.h 2006-09-19 21:05:02.782031000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/load-graph.h gnome-system-monitor-2.16.1.mod/src/load-graph.h
+--- gnome-system-monitor-2.16.1/src/load-graph.h 2006-01-02 17:28:58.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/load-graph.h 2006-11-13 20:26:32.073549000 +0800
@@ -34,35 +34,35 @@ struct _LoadGraphLabels
@@ -666,9 +665,9 @@
#endif /* _PROCMAN_LOAD_GRAPH_H_ */
-diff -Nrup gnome-system-monitor-2.16.0/src/memmaps.h gnome-system-monitor-2.16.0.mod/src/memmaps.h
---- gnome-system-monitor-2.16.0/src/memmaps.h 2005-03-17 17:23:13.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/memmaps.h 2006-09-19 21:05:27.253230000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/memmaps.h gnome-system-monitor-2.16.1.mod/src/memmaps.h
+--- gnome-system-monitor-2.16.1/src/memmaps.h 2005-03-17 17:23:13.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/memmaps.h 2006-11-13 20:26:32.076831000 +0800
@@ -4,6 +4,6 @@
#include <glib/gtypes.h>
#include "procman.h"
@@ -677,9 +676,9 @@
+G_GNUC_INTERNAL void create_memmaps_dialog (ProcData *procdata) ;
#endif /* _PROCMAN_MEMMAPS_H_ */
-diff -Nrup gnome-system-monitor-2.16.0/src/openfiles.h gnome-system-monitor-2.16.0.mod/src/openfiles.h
---- gnome-system-monitor-2.16.0/src/openfiles.h 2005-03-17 17:23:13.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/openfiles.h 2006-09-19 21:05:49.467441000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/openfiles.h gnome-system-monitor-2.16.1.mod/src/openfiles.h
+--- gnome-system-monitor-2.16.1/src/openfiles.h 2005-03-17 17:23:13.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/openfiles.h 2006-11-13 20:26:32.065979000 +0800
@@ -5,7 +5,7 @@
#include "procman.h"
@@ -689,9 +688,9 @@
#endif
-diff -Nrup gnome-system-monitor-2.16.0/src/prettytable.h gnome-system-monitor-2.16.0.mod/src/prettytable.h
---- gnome-system-monitor-2.16.0/src/prettytable.h 2005-02-16 23:40:01.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/prettytable.h 2006-09-19 21:06:13.130205000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/prettytable.h gnome-system-monitor-2.16.1.mod/src/prettytable.h
+--- gnome-system-monitor-2.16.1/src/prettytable.h 2005-02-16 23:40:01.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/prettytable.h 2006-11-13 20:26:32.066976000 +0800
@@ -6,10 +6,10 @@
#include "procman.h"
@@ -707,9 +706,9 @@
+G_GNUC_INTERNAL void pretty_table_free (PrettyTable *pretty_table) ;
#endif /* _PROCMAN_PRETTYTABLE_H_ */
-diff -Nrup gnome-system-monitor-2.16.0/src/procactions.c gnome-system-monitor-2.16.0.mod/src/procactions.c
---- gnome-system-monitor-2.16.0/src/procactions.c 2006-06-25 03:29:03.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/procactions.c 2006-09-19 21:07:39.444095000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/procactions.c gnome-system-monitor-2.16.1.mod/src/procactions.c
+--- gnome-system-monitor-2.16.1/src/procactions.c 2006-06-25 03:29:03.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/procactions.c 2006-11-13 20:26:32.068354000 +0800
@@ -128,6 +128,14 @@ kill_single_process (GtkTreeModel *model
if (!info)
return;
@@ -725,9 +724,9 @@
error = kill (info->pid, args->signal);
/* success */
-diff -Nrup gnome-system-monitor-2.16.0/src/procactions.h gnome-system-monitor-2.16.0.mod/src/procactions.h
---- gnome-system-monitor-2.16.0/src/procactions.h 2005-12-01 21:06:34.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/procactions.h 2006-09-19 21:07:57.071501000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/procactions.h gnome-system-monitor-2.16.1.mod/src/procactions.h
+--- gnome-system-monitor-2.16.1/src/procactions.h 2005-12-01 21:06:34.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/procactions.h 2006-11-13 20:26:32.068652000 +0800
@@ -21,8 +21,8 @@
#include "procman.h"
@@ -739,9 +738,9 @@
#endif
-diff -Nrup gnome-system-monitor-2.16.0/src/procdialogs.c gnome-system-monitor-2.16.0.mod/src/procdialogs.c
---- gnome-system-monitor-2.16.0/src/procdialogs.c 2006-08-09 04:56:59.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/procdialogs.c 2006-09-19 21:11:18.528879000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/procdialogs.c gnome-system-monitor-2.16.1.mod/src/procdialogs.c
+--- gnome-system-monitor-2.16.1/src/procdialogs.c 2006-08-09 04:56:59.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/procdialogs.c 2006-11-13 20:26:32.075288000 +0800
@@ -333,7 +333,7 @@ smooth_refresh_toggled(GtkToggleButton *
gboolean toggled;
@@ -772,9 +771,9 @@
100.0, 0.25, 1.0, 1.0);
spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
-diff -Nrup gnome-system-monitor-2.16.0/src/procdialogs.h gnome-system-monitor-2.16.0.mod/src/procdialogs.h
---- gnome-system-monitor-2.16.0/src/procdialogs.h 2005-12-01 23:46:20.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/procdialogs.h 2006-09-19 21:11:54.270472000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/procdialogs.h gnome-system-monitor-2.16.1.mod/src/procdialogs.h
+--- gnome-system-monitor-2.16.1/src/procdialogs.h 2005-12-01 23:46:20.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/procdialogs.h 2006-11-13 20:26:32.075559000 +0800
@@ -42,14 +42,14 @@ typedef enum
} ProcmanActionType;
@@ -797,9 +796,9 @@
#endif
-diff -Nrup gnome-system-monitor-2.16.0/src/procman.c gnome-system-monitor-2.16.0.mod/src/procman.c
---- gnome-system-monitor-2.16.0/src/procman.c 2006-08-23 05:07:53.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/procman.c 2006-09-19 21:15:25.744860000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/procman.c gnome-system-monitor-2.16.1.mod/src/procman.c
+--- gnome-system-monitor-2.16.1/src/procman.c 2006-09-17 18:05:19.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/procman.c 2006-11-13 20:26:32.074531000 +0800
@@ -107,7 +107,10 @@ timeouts_changed_cb (GConfClient *client
procdata->config.graph_update_interval = gconf_value_get_int (value);
procdata->config.graph_update_interval =
@@ -825,9 +824,9 @@
pd->config.disks_update_interval = MAX (pd->config.disks_update_interval, 1000);
pd->config.whose_process = CLAMP (pd->config.whose_process, 0, 2);
pd->config.current_tab = CLAMP (pd->config.current_tab, 0, 2);
-diff -Nrup gnome-system-monitor-2.16.0/src/procman.h gnome-system-monitor-2.16.0.mod/src/procman.h
---- gnome-system-monitor-2.16.0/src/procman.h 2006-08-18 00:50:43.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/procman.h 2006-09-19 23:23:27.071197000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/procman.h gnome-system-monitor-2.16.1.mod/src/procman.h
+--- gnome-system-monitor-2.16.1/src/procman.h 2006-08-18 00:50:43.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/procman.h 2006-11-13 20:26:32.074782000 +0800
@@ -181,9 +181,9 @@ struct _ProcData
SmoothRefresh *smooth_refresh;
};
@@ -841,10 +840,28 @@
-diff -Nrup gnome-system-monitor-2.16.0/src/proctable.c gnome-system-monitor-2.16.0.mod/src/proctable.c
---- gnome-system-monitor-2.16.0/src/proctable.c 2006-08-31 02:11:01.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/proctable.c 2006-09-19 21:31:12.640661000 +0800
-@@ -588,6 +588,10 @@ get_process_memory_info(ProcInfo *info)
+diff -Nrup gnome-system-monitor-2.16.1/src/proctable.c gnome-system-monitor-2.16.1.mod/src/proctable.c
+--- gnome-system-monitor-2.16.1/src/proctable.c 2006-08-31 02:11:01.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/proctable.c 2006-11-13 20:45:40.107468000 +0800
+@@ -556,6 +556,17 @@ static void get_process_memory_writable(
+ unsigned i;
+
+ info->memwritable = 0;
++ /* we have to optimize the performance of libgtop, because update the information will occupy too much cpu.
++
++ here I would like to make a little update:set glibtop_proc_map.flags=1,so as to let glibtop_get_proc_map_s()
++ only return the ones this function need: memwritable
++
++ we do the check in glibtop_get_proc_map_s(), don't run the others part which don't need by this function,
++ I think this will accelerate the transaction lots,
++ Also this will not affect the existing codes, because when nobody set glibtop_proc_map.flags,
++ glibtop_get_proc_map() will return all as before. zhua
++ */
++ buf.flags = 1;
+
+ maps = glibtop_get_proc_map(&buf, info->pid);
+
+@@ -588,6 +599,10 @@ get_process_memory_info(ProcInfo *info)
info->memres = procmem.resident;
info->memshared = procmem.share;
@@ -855,7 +872,7 @@
info->memxserver = xresources.total_bytes_estimate;
get_process_memory_writable(info);
-@@ -766,6 +770,28 @@ remove_children_from_tree (ProcData *pro
+@@ -766,6 +781,28 @@ remove_children_from_tree (ProcData *pro
} while (gtk_tree_model_iter_next (model, parent));
}
@@ -884,7 +901,7 @@
void
remove_info_from_tree (ProcInfo *info, ProcData *procdata)
-@@ -781,6 +807,11 @@ remove_info_from_tree (ProcInfo *info, P
+@@ -781,6 +818,11 @@ remove_info_from_tree (ProcInfo *info, P
if (procdata->selected_process == info)
procdata->selected_process = NULL;
@@ -896,7 +913,7 @@
gtk_tree_store_remove (GTK_TREE_STORE (model), &info->node);
-@@ -849,7 +880,7 @@ update_info (ProcData *procdata, ProcInf
+@@ -849,7 +891,7 @@ update_info (ProcData *procdata, ProcInf
glibtop_get_proc_uid (&procuid, info->pid);
glibtop_get_proc_time (&proctime, info->pid);
@@ -905,7 +922,7 @@
get_process_user(procdata, info, procstate.uid);
info->pcpu = (proctime.rtime - info->cpu_time_last) * 100 / total_time;
-@@ -859,6 +890,11 @@ update_info (ProcData *procdata, ProcInf
+@@ -859,6 +901,11 @@ update_info (ProcData *procdata, ProcInf
info->nice = procuid.nice;
@@ -917,7 +934,7 @@
model = gtk_tree_view_get_model (GTK_TREE_VIEW (procdata->tree));
update_info_mutable_cols(GTK_TREE_STORE (model), procdata, info);
-@@ -1018,8 +1054,8 @@ proctable_update_list (ProcData * const
+@@ -1018,8 +1065,8 @@ proctable_update_list (ProcData * const
/* FIXME: total cpu time elapsed should be calculated on an individual basis here
** should probably have a total_time_last gint in the ProcInfo structure */
glibtop_get_cpu (&cpu);
@@ -928,9 +945,9 @@
refresh_list (procdata, pid_list, proclist.number);
-diff -Nrup gnome-system-monitor-2.16.0/src/proctable.h gnome-system-monitor-2.16.0.mod/src/proctable.h
---- gnome-system-monitor-2.16.0/src/proctable.h 2006-07-06 17:40:24.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/proctable.h 2006-09-19 23:17:08.369026000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/proctable.h gnome-system-monitor-2.16.1.mod/src/proctable.h
+--- gnome-system-monitor-2.16.1/src/proctable.h 2006-07-06 17:40:24.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/proctable.h 2006-11-13 20:26:32.070490000 +0800
@@ -26,42 +26,41 @@
enum
@@ -1006,9 +1023,9 @@
+G_GNUC_INTERNAL char* make_loadavg_string(void) ;
#endif /* _PROCMAN_PROCTABLE_H_ */
-diff -Nrup gnome-system-monitor-2.16.0/src/selinux.h gnome-system-monitor-2.16.0.mod/src/selinux.h
---- gnome-system-monitor-2.16.0/src/selinux.h 2006-07-09 01:24:40.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/selinux.h 2006-09-19 23:39:46.475989000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/selinux.h gnome-system-monitor-2.16.1.mod/src/selinux.h
+--- gnome-system-monitor-2.16.1/src/selinux.h 2006-07-09 01:24:40.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/selinux.h 2006-11-13 20:26:32.069158000 +0800
@@ -5,10 +5,10 @@
#include "procman.h"
@@ -1024,9 +1041,9 @@
+can_show_security_context_column (void) G_GNUC_CONST;
#endif /* PROCMAN_SELINUX_H_20050525 */
-diff -Nrup gnome-system-monitor-2.16.0/src/smooth_refresh.c gnome-system-monitor-2.16.0.mod/src/smooth_refresh.c
---- gnome-system-monitor-2.16.0/src/smooth_refresh.c 2006-07-12 03:59:32.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/smooth_refresh.c 2006-09-19 21:33:17.380766000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/smooth_refresh.c gnome-system-monitor-2.16.1.mod/src/smooth_refresh.c
+--- gnome-system-monitor-2.16.1/src/smooth_refresh.c 2006-07-12 03:59:32.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/smooth_refresh.c 2006-11-13 20:26:32.072291000 +0800
@@ -183,8 +183,10 @@ smooth_refresh_get(SmoothRefresh *sm, gu
gboolean changed;
float pcpu;
@@ -1048,9 +1065,9 @@
g_assert(sm->interval == *new_interval);
g_assert(sm->interval >= *sm->config_interval);
-diff -Nrup gnome-system-monitor-2.16.0/src/smooth_refresh.h gnome-system-monitor-2.16.0.mod/src/smooth_refresh.h
---- gnome-system-monitor-2.16.0/src/smooth_refresh.h 2005-12-28 00:14:59.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/smooth_refresh.h 2006-09-19 21:33:35.753383000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/smooth_refresh.h gnome-system-monitor-2.16.1.mod/src/smooth_refresh.h
+--- gnome-system-monitor-2.16.1/src/smooth_refresh.h 2005-12-28 00:14:59.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/smooth_refresh.h 2006-11-13 20:26:32.072506000 +0800
@@ -18,8 +18,8 @@ typedef struct _SmoothRefresh SmoothRefr
@return : initialized SmoothRefresh
*/
@@ -1095,9 +1112,9 @@
#endif /* _PROCMAN_SMOOTH_REFRESH */
-diff -Nrup gnome-system-monitor-2.16.0/src/util.h gnome-system-monitor-2.16.0.mod/src/util.h
---- gnome-system-monitor-2.16.0/src/util.h 2006-07-12 03:51:11.000000000 +0800
-+++ gnome-system-monitor-2.16.0.mod/src/util.h 2006-09-19 22:31:15.717581000 +0800
+diff -Nrup gnome-system-monitor-2.16.1/src/util.h gnome-system-monitor-2.16.1.mod/src/util.h
+--- gnome-system-monitor-2.16.1/src/util.h 2006-07-12 03:51:11.000000000 +0800
++++ gnome-system-monitor-2.16.1.mod/src/util.h 2006-11-13 20:26:32.074021000 +0800
@@ -5,7 +5,7 @@
#include <libgnomevfs/gnome-vfs-utils.h>
#include <stddef.h>
--- a/patches/libgtop-01-solaris.diff Thu Nov 16 06:57:12 2006 +0000
+++ b/patches/libgtop-01-solaris.diff Thu Nov 16 07:11:03 2006 +0000
@@ -1,6 +1,6 @@
-diff -Nrup libgtop-2.14.3/include/glibtop/error.h libgtop-2.14.3.mod/include/glibtop/error.h
---- libgtop-2.14.3/include/glibtop/error.h 2005-02-15 18:14:59.000000000 +0800
-+++ libgtop-2.14.3.mod/include/glibtop/error.h 2006-09-19 15:57:44.849308000 +0800
+diff -Nrup libgtop-2.14.4/include/glibtop/error.h libgtop-2.14.4.mod/include/glibtop/error.h
+--- libgtop-2.14.4/include/glibtop/error.h 2005-02-15 18:14:59.000000000 +0800
++++ libgtop-2.14.4.mod/include/glibtop/error.h 2006-11-13 20:28:00.229195000 +0800
@@ -33,20 +33,20 @@
G_BEGIN_DECLS
@@ -36,9 +36,9 @@
G_END_DECLS
-diff -Nrup libgtop-2.14.3/include/glibtop/procmem.h libgtop-2.14.3.mod/include/glibtop/procmem.h
---- libgtop-2.14.3/include/glibtop/procmem.h 2006-04-23 02:16:53.000000000 +0800
-+++ libgtop-2.14.3.mod/include/glibtop/procmem.h 2006-09-19 17:28:53.936872000 +0800
+diff -Nrup libgtop-2.14.4/include/glibtop/procmem.h libgtop-2.14.4.mod/include/glibtop/procmem.h
+--- libgtop-2.14.4/include/glibtop/procmem.h 2006-04-23 02:16:53.000000000 +0800
++++ libgtop-2.14.4.mod/include/glibtop/procmem.h 2006-11-13 20:28:00.231664000 +0800
@@ -53,6 +53,7 @@ struct _glibtop_proc_mem
guint64 rss; /* resident set size */
guint64 rss_rlim; /* current limit (in bytes) of the rss
@@ -47,9 +47,9 @@
};
void glibtop_get_proc_mem(glibtop_proc_mem *buf, pid_t pid);
-diff -Nrup libgtop-2.14.3/src/daemon/daemon.h libgtop-2.14.3.mod/src/daemon/daemon.h
---- libgtop-2.14.3/src/daemon/daemon.h 2006-04-02 17:10:00.000000000 +0800
-+++ libgtop-2.14.3.mod/src/daemon/daemon.h 2006-09-19 17:32:49.755370000 +0800
+diff -Nrup libgtop-2.14.4/src/daemon/daemon.h libgtop-2.14.4.mod/src/daemon/daemon.h
+--- libgtop-2.14.4/src/daemon/daemon.h 2006-04-02 17:10:00.000000000 +0800
++++ libgtop-2.14.4.mod/src/daemon/daemon.h 2006-11-13 20:28:00.073924000 +0800
@@ -59,17 +59,17 @@ G_BEGIN_DECLS
#define MSG_BUFSZ sizeof (struct _glibtop_ipc_message)
#define MSG_MSGSZ (MSG_BUFSZ - sizeof (long))
@@ -78,9 +78,9 @@
extern int enable_debug;
extern int verbose_output;
-diff -Nrup libgtop-2.14.3/sysdeps/common/fsusage.c libgtop-2.14.3.mod/sysdeps/common/fsusage.c
---- libgtop-2.14.3/sysdeps/common/fsusage.c 2005-02-28 16:11:15.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/common/fsusage.c 2006-09-19 17:35:19.379045000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/common/fsusage.c libgtop-2.14.4.mod/sysdeps/common/fsusage.c
+--- libgtop-2.14.4/sysdeps/common/fsusage.c 2005-02-28 16:11:15.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/common/fsusage.c 2006-11-13 20:28:00.187415000 +0800
@@ -126,10 +126,10 @@ static const unsigned long _glibtop_sysd
*/
@@ -122,9 +122,9 @@
static inline void
_glibtop_get_fsusage_read_write(glibtop *server,
glibtop_fsusage *buf,
-diff -Nrup libgtop-2.14.3/sysdeps/common/mountlist.c libgtop-2.14.3.mod/sysdeps/common/mountlist.c
---- libgtop-2.14.3/sysdeps/common/mountlist.c 2006-06-25 01:24:27.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/common/mountlist.c 2006-09-19 17:39:31.506970000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/common/mountlist.c libgtop-2.14.4.mod/sysdeps/common/mountlist.c
+--- libgtop-2.14.4/sysdeps/common/mountlist.c 2006-06-25 01:24:27.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/common/mountlist.c 2006-11-13 20:28:00.187183000 +0800
@@ -477,8 +477,10 @@ read_filesystem_list (void)
if (fclose (fp) == EOF)
@@ -137,9 +137,9 @@
}
#endif /* MOUNTED_GETMNTENT2. */
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/Makefile.am libgtop-2.14.3.mod/sysdeps/solaris/Makefile.am
---- libgtop-2.14.3/sysdeps/solaris/Makefile.am 2004-11-13 08:53:20.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/Makefile.am 2006-09-19 17:41:18.192524000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/Makefile.am libgtop-2.14.4.mod/sysdeps/solaris/Makefile.am
+--- libgtop-2.14.4/sysdeps/solaris/Makefile.am 2004-11-13 08:53:20.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/Makefile.am 2006-11-13 20:28:00.177639000 +0800
@@ -8,6 +8,7 @@ libgtop_sysdeps_2_0_la_SOURCES = open.c
proclist.c procstate.c procuid.c \
proctime.c procmem.c procsignal.c \
@@ -148,9 +148,9 @@
procmap.c netload.c ppp.c procdata.c netlist.c
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/cpu.c libgtop-2.14.3.mod/sysdeps/solaris/cpu.c
---- libgtop-2.14.3/sysdeps/solaris/cpu.c 2005-12-12 18:09:40.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/cpu.c 2006-09-19 17:42:40.723199000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/cpu.c libgtop-2.14.4.mod/sysdeps/solaris/cpu.c
+--- libgtop-2.14.4/sysdeps/solaris/cpu.c 2005-12-12 18:09:40.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/cpu.c 2006-11-13 20:28:00.175637000 +0800
@@ -36,6 +36,7 @@ static const unsigned long _glibtop_sysd
static const unsigned long _glibtop_sysdeps_cpu_all =
@@ -159,9 +159,9 @@
(1L << GLIBTOP_CPU_SYS) + (1L << GLIBTOP_CPU_IDLE) +
(1L << GLIBTOP_XCPU_TOTAL) + (1L << GLIBTOP_XCPU_USER) +
(1L << GLIBTOP_XCPU_SYS) + (1L << GLIBTOP_XCPU_IDLE) +
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/fsusage.c libgtop-2.14.3.mod/sysdeps/solaris/fsusage.c
---- libgtop-2.14.3/sysdeps/solaris/fsusage.c 1970-01-01 08:00:00.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/fsusage.c 2006-09-19 17:44:12.574124000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/fsusage.c libgtop-2.14.4.mod/sysdeps/solaris/fsusage.c
+--- libgtop-2.14.4/sysdeps/solaris/fsusage.c 1970-01-01 08:00:00.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/fsusage.c 2006-11-13 20:28:00.181048000 +0800
@@ -0,0 +1,99 @@
+#include <config.h>
+#include <glibtop.h>
@@ -262,9 +262,9 @@
+#endif
+ buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
+}
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/glibtop_machine.h libgtop-2.14.3.mod/sysdeps/solaris/glibtop_machine.h
---- libgtop-2.14.3/sysdeps/solaris/glibtop_machine.h 2006-06-25 01:52:28.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/glibtop_machine.h 2006-09-19 17:47:32.238908000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/glibtop_machine.h libgtop-2.14.4.mod/sysdeps/solaris/glibtop_machine.h
+--- libgtop-2.14.4/sysdeps/solaris/glibtop_machine.h 2006-06-25 01:52:28.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/glibtop_machine.h 2006-11-13 20:28:00.176250000 +0800
@@ -63,14 +63,7 @@ struct _glibtop_machine
int pagesize; /* in bits to shift, ie. 2^pagesize gives Kb */
int ticks; /* clock ticks, as returned by sysconf() */
@@ -280,9 +280,9 @@
};
G_END_DECLS
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/glibtop_server.h libgtop-2.14.3.mod/sysdeps/solaris/glibtop_server.h
---- libgtop-2.14.3/sysdeps/solaris/glibtop_server.h 2005-08-12 22:55:37.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/glibtop_server.h 2006-09-19 17:50:53.413486000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/glibtop_server.h libgtop-2.14.4.mod/sysdeps/solaris/glibtop_server.h
+--- libgtop-2.14.4/sysdeps/solaris/glibtop_server.h 2005-08-12 22:55:37.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/glibtop_server.h 2006-11-13 20:28:00.175760000 +0800
@@ -31,9 +31,15 @@ G_BEGIN_DECLS
#define GLIBTOP_SUID_SWAP 0
#define GLIBTOP_SUID_UPTIME 0
@@ -299,9 +299,9 @@
#define GLIBTOP_SUID_PROCLIST 0
#define GLIBTOP_SUID_PROC_STATE 0
#define GLIBTOP_SUID_PROC_UID 0
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/msg_limits.c libgtop-2.14.3.mod/sysdeps/solaris/msg_limits.c
---- libgtop-2.14.3/sysdeps/solaris/msg_limits.c 2006-06-25 01:16:53.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/msg_limits.c 2006-09-19 17:58:06.482092000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/msg_limits.c libgtop-2.14.4.mod/sysdeps/solaris/msg_limits.c
+--- libgtop-2.14.4/sysdeps/solaris/msg_limits.c 2006-06-25 01:16:53.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/msg_limits.c 2006-11-13 20:28:00.176742000 +0800
@@ -39,14 +39,24 @@ static const unsigned long _glibtop_sysd
(1L << GLIBTOP_IPC_MSGMNB) + (1L << GLIBTOP_IPC_MSGMNI) +
(1L << GLIBTOP_IPC_MSGTQL);
@@ -342,10 +342,10 @@
{
#if GLIBTOP_SOLARIS_RELEASE < 51000
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/netlist.c libgtop-2.14.3.mod/sysdeps/solaris/netlist.c
---- libgtop-2.14.3/sysdeps/solaris/netlist.c 2006-06-25 01:33:05.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/netlist.c 2006-09-19 18:06:30.883466000 +0800
-@@ -41,7 +41,10 @@ glibtop_get_netlist_s (glibtop *server,
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/netlist.c libgtop-2.14.4.mod/sysdeps/solaris/netlist.c
+--- libgtop-2.14.4/sysdeps/solaris/netlist.c 2006-06-25 01:33:05.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/netlist.c 2006-11-13 20:28:00.176984000 +0800
+@@ -41,7 +41,13 @@ glibtop_get_netlist_s (glibtop *server,
{
GPtrArray *devices;
kstat_t *ksp;
@@ -353,11 +353,14 @@
+ /* use the kc installed in server, don't need to create again,
+ it will save some time and improve performance */
+ kstat_ctl_t * const kc = server->machine.kc;
++ /* use flags as a check condition, if it is 1, check, or not check... zhua */
+ int check = buf->flags;
++ /* set flags back to 0 */
++ buf->flags = 0;
glibtop_init_s (&server, GLIBTOP_SYSDEPS_NETLIST, 0);
-@@ -49,9 +52,9 @@ glibtop_get_netlist_s (glibtop *server,
+@@ -49,9 +55,9 @@ glibtop_get_netlist_s (glibtop *server,
devices = g_ptr_array_new();
@@ -368,7 +371,7 @@
return NULL;
}
-@@ -60,12 +63,27 @@ glibtop_get_netlist_s (glibtop *server,
+@@ -60,12 +66,27 @@ glibtop_get_netlist_s (glibtop *server,
if (strcmp(ksp->ks_class, "net") != 0)
continue;
@@ -400,9 +403,9 @@
buf->flags = _glibtop_sysdeps_netlist;
g_ptr_array_add(devices, NULL);
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/netload.c libgtop-2.14.3.mod/sysdeps/solaris/netload.c
---- libgtop-2.14.3/sysdeps/solaris/netload.c 2005-12-12 18:09:40.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/netload.c 2006-09-19 18:21:59.974996000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/netload.c libgtop-2.14.4.mod/sysdeps/solaris/netload.c
+--- libgtop-2.14.4/sysdeps/solaris/netload.c 2005-12-12 18:09:40.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/netload.c 2006-11-13 20:28:00.177150000 +0800
@@ -26,14 +26,247 @@
#include <glibtop/error.h>
#include <glibtop/netload.h>
@@ -728,9 +731,9 @@
+#endif /* HAVE_IFADDRS_H */
}
+
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/open.c libgtop-2.14.3.mod/sysdeps/solaris/open.c
---- libgtop-2.14.3/sysdeps/solaris/open.c 2006-06-25 01:39:49.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/open.c 2006-09-19 18:25:54.519665000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/open.c libgtop-2.14.4.mod/sysdeps/solaris/open.c
+--- libgtop-2.14.4/sysdeps/solaris/open.c 2006-06-25 01:39:49.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/open.c 2006-11-13 20:28:00.178413000 +0800
@@ -211,34 +211,5 @@ glibtop_open_s (glibtop *server, const c
}
}
@@ -766,18 +769,23 @@
-#endif
server->machine.me = getpid();
}
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/procmap.c libgtop-2.14.3.mod/sysdeps/solaris/procmap.c
---- libgtop-2.14.3/sysdeps/solaris/procmap.c 2006-06-25 01:45:29.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/procmap.c 2006-09-19 18:41:08.104537000 +0800
-@@ -56,6 +56,7 @@ glibtop_map_entry *
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/procmap.c libgtop-2.14.4.mod/sysdeps/solaris/procmap.c
+--- libgtop-2.14.4/sysdeps/solaris/procmap.c 2006-06-25 01:45:29.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/procmap.c 2006-11-13 21:43:09.817707000 +0800
+@@ -56,6 +56,12 @@ glibtop_map_entry *
glibtop_get_proc_map_s (glibtop *server, glibtop_proc_map *buf, pid_t pid)
{
int fd, i, nmaps, pr_err, heap;
+ char filename [BUFSIZ];
++ /* use flags as a check condition, if it is 1, check, or, not check... zhua */
++ int check = buf->flags;
++ /* set flags back to 0 */
++ buf->flags = 0;
++
#if GLIBTOP_SOLARIS_RELEASE >= 50600
prxmap_t *maps;
struct ps_prochandle *Pr = NULL;
-@@ -125,15 +126,9 @@ glibtop_get_proc_map_s (glibtop *server,
+@@ -125,15 +131,29 @@ glibtop_get_proc_map_s (glibtop *server,
buf->total = nmaps * sizeof(glibtop_map_entry);
entry = g_malloc0(buf->total);
@@ -790,11 +798,31 @@
for(heap = 0,i = 0; i < nmaps; ++i)
{
- int len;
++ /* take a check to see if we need all information, if not, just get what we need..
++ Also please see comments in get_process_memory_writable() of gnome-system-monitor zhua */
++ if (check == 1)
++ {
++ if(maps[i].pr_mflags & MA_WRITE){
++ entry[i].perm |= GLIBTOP_MAP_PERM_WRITE;
++ entry[i].size = maps[i].pr_size;
++ }
++ }
++ else
++ if (check == 2)
++ {
++ if(maps[i].pr_mflags & MA_SHARED){
++ entry[i].perm |= GLIBTOP_MAP_PERM_SHARED;
++ /* here use shared_clean to store Shared Memory */
++ entry[i].shared_clean = maps[i].pr_size;
++ }
++ }
++ else {
++
+ int len, rv;
entry[i].start = maps[i].pr_vaddr;
entry[i].end = maps[i].pr_vaddr + maps[i].pr_size;
-@@ -156,8 +151,12 @@ glibtop_get_proc_map_s (glibtop *server,
+@@ -156,8 +176,12 @@ glibtop_get_proc_map_s (glibtop *server,
}
if(maps[i].pr_mflags & MA_EXEC)
entry[i].perm |= GLIBTOP_MAP_PERM_EXECUTE;
@@ -809,7 +837,7 @@
else
entry[i].perm |= GLIBTOP_MAP_PERM_PRIVATE;
entry[i].flags = _glibtop_sysdeps_map_entry;
-@@ -179,25 +178,24 @@ glibtop_get_proc_map_s (glibtop *server,
+@@ -179,25 +203,25 @@ glibtop_get_proc_map_s (glibtop *server,
entry[i].flags |= (1L << GLIBTOP_MAP_ENTRY_FILENAME);
}
else
@@ -840,6 +868,7 @@
+ }
+
#endif
++ } /* end of else check */
}
-#if GLIBTOP_SOLARIS_RELEASE >= 50600
@@ -850,9 +879,9 @@
buf->flags = _glibtop_sysdeps_proc_map;
s_close(fd);
return entry;
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/procmem.c libgtop-2.14.3.mod/sysdeps/solaris/procmem.c
---- libgtop-2.14.3/sysdeps/solaris/procmem.c 2005-12-12 18:09:40.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/procmem.c 2006-09-19 19:52:07.742086000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/procmem.c libgtop-2.14.4.mod/sysdeps/solaris/procmem.c
+--- libgtop-2.14.4/sysdeps/solaris/procmem.c 2005-12-12 18:09:40.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/procmem.c 2006-11-13 21:57:58.082161000 +0800
@@ -24,6 +24,7 @@
#include <config.h>
#include <glibtop.h>
@@ -861,7 +890,7 @@
#include "glibtop_private.h"
-@@ -59,9 +60,26 @@ glibtop_get_proc_mem_s (glibtop *server,
+@@ -59,9 +60,38 @@ glibtop_get_proc_mem_s (glibtop *server,
#ifdef HAVE_PROCFS_H
buf->size = buf->vsize = psinfo.pr_size << 10;
buf->resident = buf->rss = psinfo.pr_rssize << 10;
@@ -877,6 +906,18 @@
+ glibtop_map_entry *maps;
+ unsigned i;
+ buf->share = 0;
++
++ /* we have to optimize the performance of libgtop, because update the information will occupy too much cpu.
++
++ here I would like to make a little update:set glibtop_proc_map.flags=1,so as to let glibtop_get_proc_map_s()
++ only return the ones this function need: memwritable
++
++ we do the check in glibtop_get_proc_map_s(), don't run the others part which don't need by this function,
++ I think this will accelerate the transaction lots,
++ Also this will not affect the existing codes, because when nobody set glibtop_proc_map.flags,
++ glibtop_get_proc_map() will return all as before. zhua
++ */
++ mapbuf.flags = 2;
+
+ maps = glibtop_get_proc_map_s(server, &mapbuf, pid);
+
@@ -888,9 +929,9 @@
+
buf->flags = _glibtop_sysdeps_proc_mem;
}
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/procopenfiles.c libgtop-2.14.3.mod/sysdeps/solaris/procopenfiles.c
---- libgtop-2.14.3/sysdeps/solaris/procopenfiles.c 1970-01-01 08:00:00.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/procopenfiles.c 2006-09-19 18:47:59.367792000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/procopenfiles.c libgtop-2.14.4.mod/sysdeps/solaris/procopenfiles.c
+--- libgtop-2.14.4/sysdeps/solaris/procopenfiles.c 1970-01-01 08:00:00.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/procopenfiles.c 2006-11-13 20:28:00.181183000 +0800
@@ -0,0 +1,130 @@
+/* $Id: procopenfiles.c,v 1.7 2005/12/12 09:38:12 jamesh Exp $ */
+
@@ -1022,9 +1063,9 @@
+
+ return (glibtop_open_files_entry*)g_array_free(entries, FALSE);
+}
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/proctime.c libgtop-2.14.3.mod/sysdeps/solaris/proctime.c
---- libgtop-2.14.3/sysdeps/solaris/proctime.c 2006-06-25 01:47:34.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/proctime.c 2006-09-19 18:57:06.349706000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/proctime.c libgtop-2.14.4.mod/sysdeps/solaris/proctime.c
+--- libgtop-2.14.4/sysdeps/solaris/proctime.c 2006-06-25 01:47:34.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/proctime.c 2006-11-13 20:28:00.179929000 +0800
@@ -45,8 +45,12 @@ void
glibtop_get_proc_time_s (glibtop *server, glibtop_proc_time *buf,
pid_t pid)
@@ -1064,9 +1105,9 @@
}
buf->flags = _glibtop_sysdeps_proc_time;
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/sem_limits.c libgtop-2.14.3.mod/sysdeps/solaris/sem_limits.c
---- libgtop-2.14.3/sysdeps/solaris/sem_limits.c 2006-06-25 01:16:53.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/sem_limits.c 2006-09-19 20:05:46.475921000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/sem_limits.c libgtop-2.14.4.mod/sysdeps/solaris/sem_limits.c
+--- libgtop-2.14.4/sysdeps/solaris/sem_limits.c 2006-06-25 01:16:53.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/sem_limits.c 2006-11-13 20:28:00.179799000 +0800
@@ -41,14 +41,22 @@ static const unsigned long _glibtop_sysd
(1L << GLIBTOP_IPC_SEMUSZ) + (1L << GLIBTOP_IPC_SEMVMX) +
(1L << GLIBTOP_IPC_SEMAEM);
@@ -1105,9 +1146,9 @@
{
#if GLIBTOP_SOLARIS_RELEASE < 51000
kvm_t *kd = server->machine.kd;
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/shm_limits.c libgtop-2.14.3.mod/sysdeps/solaris/shm_limits.c
---- libgtop-2.14.3/sysdeps/solaris/shm_limits.c 2006-06-25 01:16:53.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/shm_limits.c 2006-09-19 19:10:47.378164000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/shm_limits.c libgtop-2.14.4.mod/sysdeps/solaris/shm_limits.c
+--- libgtop-2.14.4/sysdeps/solaris/shm_limits.c 2006-06-25 01:16:53.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/shm_limits.c 2006-11-13 20:28:00.175514000 +0800
@@ -32,7 +32,9 @@
static const struct nlist nlst[] = { {"glibtop_shm_limits"}, {NULL} };
@@ -1147,9 +1188,9 @@
{
#if GLIBTOP_SOLARIS_RELEASE < 51000
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/siglist.c libgtop-2.14.3.mod/sysdeps/solaris/siglist.c
---- libgtop-2.14.3/sysdeps/solaris/siglist.c 2005-12-12 18:09:40.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/siglist.c 2006-09-19 19:12:41.405247000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/siglist.c libgtop-2.14.4.mod/sysdeps/solaris/siglist.c
+--- libgtop-2.14.4/sysdeps/solaris/siglist.c 2005-12-12 18:09:40.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/siglist.c 2006-11-13 20:28:00.180643000 +0800
@@ -63,6 +63,7 @@ const glibtop_signame glibtop_sys_siglis
{ 35, "SIGTHAW", "Checkpoint Thaw" },
{ 36, "SIGCANCEL","Thread Cancelation" },
@@ -1189,9 +1230,9 @@
+#endif
{ 0, NULL, NULL }
};
-diff -Nrup libgtop-2.14.3/sysdeps/solaris/sysinfo.c libgtop-2.14.3.mod/sysdeps/solaris/sysinfo.c
---- libgtop-2.14.3/sysdeps/solaris/sysinfo.c 1970-01-01 08:00:00.000000000 +0800
-+++ libgtop-2.14.3.mod/sysdeps/solaris/sysinfo.c 2006-09-19 19:14:17.410484000 +0800
+diff -Nrup libgtop-2.14.4/sysdeps/solaris/sysinfo.c libgtop-2.14.4.mod/sysdeps/solaris/sysinfo.c
+--- libgtop-2.14.4/sysdeps/solaris/sysinfo.c 1970-01-01 08:00:00.000000000 +0800
++++ libgtop-2.14.4.mod/sysdeps/solaris/sysinfo.c 2006-11-13 20:28:00.181313000 +0800
@@ -0,0 +1,48 @@
+/* $Id: sysinfo.c,v 1.22 2004/11/28 01:32:55 bdejean Exp $ */
+