Index: /trunk/src/VBox/GuestHost/OpenGL/util/process.c
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/util/process.c	(revision 58579)
+++ /trunk/src/VBox/GuestHost/OpenGL/util/process.c	(revision 58580)
@@ -15,4 +15,7 @@
 #ifndef WINDOWS
 #include <unistd.h>
+# ifdef VBOX
+#  include <string.h>
+# endif
 #else
 #pragma warning ( disable : 4127 )
@@ -130,4 +133,22 @@
 	}
 #else
+#ifdef VBOX
+    const char *pszExecName, *pszProgName;
+#  ifdef SunOS
+    pszExecName = getexecname();
+#  else
+    extern const char *__progname;
+    pszExecName = __progname;
+#  endif
+    if (!pszExecName)
+        pszExecName = "<unknown>";
+    pszProgName = strrchr(pszExecName, '/');
+    if (pszProgName && *(pszProgName + 1))
+        pszProgName++;
+    else
+        pszProgName = pszExecName;
+    strncpy(name, pszProgName, maxLen);
+    name[maxLen - 1] = '\0';
+# else
 	/* Unix:
 	 * Call getpid() to get our process ID.
@@ -149,15 +170,7 @@
 	/* pipe output of ps to temp file */
 #ifndef SunOS
-# ifdef VBOX
-	snprintf(command, sizeof(command), "ps > %s", tmp);
-# else
 	sprintf(command, "ps > %s", tmp);
-# endif
-#else
-# ifdef VBOX
-	snprintf(command, sizeof(command), "ps -e -o 'pid tty time comm'> %s", tmp);
-# else
+#else
 	sprintf(command, "ps -e -o 'pid tty time comm'> %s", tmp);
-# endif
 #endif
 	system(command);
@@ -188,4 +201,5 @@
 	}
 	remove(tmp);
+# endif
 #endif
 }
