gnome-system-monitor r2469 - trunk/src
- From: bdejean svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-system-monitor r2469 - trunk/src
- Date: Sat, 9 Aug 2008 19:23:54 +0000 (UTC)
Author: bdejean
Date: Sat Aug 9 19:23:53 2008
New Revision: 2469
URL: http://svn.gnome.org/viewvc/gnome-system-monitor?rev=2469&view=rev
Log:
Fixed truncated process name for process which call prctl.
Closes #546986.
Modified:
trunk/src/proctable.cpp
Modified: trunk/src/proctable.cpp
==============================================================================
--- trunk/src/proctable.cpp (original)
+++ trunk/src/proctable.cpp Sat Aug 9 19:23:53 2008
@@ -426,20 +426,23 @@
static void
get_process_name (ProcInfo *info,
- const gchar *cmd, const gchar *args)
+ const gchar *cmd, const GStrv args)
{
- if (args && *args)
- {
- char* basename;
- basename = g_path_get_basename (args);
-
- if(g_str_has_prefix (basename, cmd))
- {
- info->name = basename;
- return;
- }
+ if (args) {
+ // look for /usr/bin/very_long_name
+ // and also /usr/bin/interpreter /usr/.../very_long_name
+ // which may have use prctl to alter 'cmd' name
+ for (int i = 0; i != 2 && args[i]; ++i) {
+ char* basename;
+ basename = g_path_get_basename(args[i]);
+
+ if (g_str_has_prefix(basename, cmd)) {
+ info->name = basename;
+ return;
+ }
- g_free (basename);
+ g_free(basename);
+ }
}
info->name = g_strdup (cmd);
@@ -688,7 +691,7 @@
arguments = glibtop_get_proc_argv (&procargs, pid, 0);
/* FIXME : wrong. name and arguments may change with exec* */
- get_process_name (info, procstate.cmd, arguments[0]);
+ get_process_name (info, procstate.cmd, static_cast<const GStrv>(arguments));
std::string tooltip = make_string(g_strjoinv(" ", arguments));
if (tooltip.empty())
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]