summaryrefslogtreecommitdiff
path: root/core/tools
authorzecke <zecke>2004-09-26 14:15:24 (UTC)
committer zecke <zecke>2004-09-26 14:15:24 (UTC)
commit31c049a24effde037c20ed9446d2725f3cb718c3 (patch) (unidiff)
tree3f33fd5ef8ceb057a1066c4f1a09ff5869bde3f4 /core/tools
parent77441b90e9b5a4a23b080e7ac53a512abe96f8a9 (diff)
downloadopie-31c049a24effde037c20ed9446d2725f3cb718c3.zip
opie-31c049a24effde037c20ed9446d2725f3cb718c3.tar.gz
opie-31c049a24effde037c20ed9446d2725f3cb718c3.tar.bz2
Since some 2.6.8 kernel the Linux kernel one can set
the process name with prctl. Let us use this as well
Diffstat (limited to 'core/tools') (more/less context) (ignore whitespace changes)
-rw-r--r--core/tools/quicklauncher/main.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/tools/quicklauncher/main.cpp b/core/tools/quicklauncher/main.cpp
index fb2ca44..286aed2 100644
--- a/core/tools/quicklauncher/main.cpp
+++ b/core/tools/quicklauncher/main.cpp
@@ -35,24 +35,32 @@ using namespace Opie::Core;
35#ifdef private 35#ifdef private
36# undef private 36# undef private
37#endif 37#endif
38#define private public 38#define private public
39#include <qtopia/qpeapplication.h> 39#include <qtopia/qpeapplication.h>
40#undef private 40#undef private
41 41
42/* STD */ 42/* STD */
43#include <stdio.h> 43#include <stdio.h>
44#include <stdlib.h> 44#include <stdlib.h>
45#include <sys/types.h> 45#include <sys/types.h>
46#include <sys/stat.h> 46#include <sys/stat.h>
47
48#ifdef _OS_LINUX_
49#include <sys/prctl.h>
50#ifndef PR_SET_NAME
51#define PR_SET_NAME 15
52#endif
53#endif
54
47#include <unistd.h> 55#include <unistd.h>
48 56
49 57
50using QuickPrivate::PluginLoader; 58using QuickPrivate::PluginLoader;
51 59
52static QPEApplication *app = 0; 60static QPEApplication *app = 0;
53static PluginLoader *loader = 0; 61static PluginLoader *loader = 0;
54static ApplicationInterface *appIface = 0; 62static ApplicationInterface *appIface = 0;
55static QGuardedPtr<QWidget> mainWindow; 63static QGuardedPtr<QWidget> mainWindow;
56 64
57#ifdef _OS_LINUX_ 65#ifdef _OS_LINUX_
58static char **argv0 = 0; 66static char **argv0 = 0;
@@ -157,24 +165,25 @@ private:
157 static int myargc = argList.count(); 165 static int myargc = argList.count();
158 static char **myargv = new char *[myargc + 1]; 166 static char **myargv = new char *[myargc + 1];
159 167
160 for ( int j = 0; j < myargc; j++ ) { 168 for ( int j = 0; j < myargc; j++ ) {
161 myargv[j] = new char [strlen(argList.at(j))+1]; 169 myargv[j] = new char [strlen(argList.at(j))+1];
162 strcpy( myargv[j], argList.at(j) ); 170 strcpy( myargv[j], argList.at(j) );
163 } 171 }
164 172
165 myargv[myargc] = NULL; 173 myargv[myargc] = NULL;
166#ifdef _OS_LINUX_ 174#ifdef _OS_LINUX_
167 // Change name of process 175 // Change name of process
168 setproctitle(myargv[0]); 176 setproctitle(myargv[0]);
177 prctl( PR_SET_NAME, (unsigned long)myargv[0], 0, 0, 0 );
169#endif 178#endif
170 179
171 connect(app, SIGNAL(lastWindowClosed()), app, SLOT(hideOrQuit())); 180 connect(app, SIGNAL(lastWindowClosed()), app, SLOT(hideOrQuit()));
172 app->exit_loop(); 181 app->exit_loop();
173 app->initApp( myargc, myargv ); 182 app->initApp( myargc, myargv );
174 exec( myargc, myargv ); 183 exec( myargc, myargv );
175 } 184 }
176 185
177private: 186private:
178 QCopChannel *qlChannel; 187 QCopChannel *qlChannel;
179}; 188};
180 189