-rw-r--r-- | core/launcher/applauncher.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/launcher/applauncher.cpp b/core/launcher/applauncher.cpp index 0ac043b..0db99dd 100644 --- a/core/launcher/applauncher.cpp +++ b/core/launcher/applauncher.cpp | |||
@@ -647,25 +647,32 @@ void AppLauncher::createQuickLauncher() | |||
647 | return; | 647 | return; |
648 | 648 | ||
649 | qlReady = FALSE; | 649 | qlReady = FALSE; |
650 | qlPid = ::vfork(); | 650 | qlPid = ::vfork(); |
651 | if ( !qlPid ) { | 651 | if ( !qlPid ) { |
652 | char **args = new char *[2]; | 652 | char **args = new char *[2]; |
653 | args[0] = "quicklauncher"; | 653 | args[0] = "quicklauncher"; |
654 | args[1] = 0; | 654 | args[1] = 0; |
655 | for ( int fd = 3; fd < 100; fd++ ) | 655 | for ( int fd = 3; fd < 100; fd++ ) |
656 | ::close( fd ); | 656 | ::close( fd ); |
657 | ::setpgid( ::getpid(), ::getppid() ); | 657 | ::setpgid( ::getpid(), ::getppid() ); |
658 | // Try bindir first, so that foo/bar works too | 658 | // Try bindir first, so that foo/bar works too |
659 | setenv( "LD_BIND_NOW", "1", 1 ); | 659 | /* |
660 | * LD_BIND_NOW will change the behaviour of ld.so and dlopen | ||
661 | * RTLD_LAZY will be made RTLD_NOW which leads to problem | ||
662 | * with miscompiled libraries... if LD_BIND_NOW is set.. there | ||
663 | * is no way back.. We will wait for numbers from TT to see | ||
664 | * if using LD_BIND_NOW is worth it - zecke | ||
665 | */ | ||
666 | //setenv( "LD_BIND_NOW", "1", 1 ); | ||
660 | ::execv( QPEApplication::qpeDir()+"bin/quicklauncher", args ); | 667 | ::execv( QPEApplication::qpeDir()+"bin/quicklauncher", args ); |
661 | ::execvp( "quicklauncher", args ); | 668 | ::execvp( "quicklauncher", args ); |
662 | delete []args; | 669 | delete []args; |
663 | disabled = TRUE; | 670 | disabled = TRUE; |
664 | _exit( -1 ); | 671 | _exit( -1 ); |
665 | } else if ( qlPid == -1 ) { | 672 | } else if ( qlPid == -1 ) { |
666 | qlPid = 0; | 673 | qlPid = 0; |
667 | } else { | 674 | } else { |
668 | if ( getuid() == 0 ) | 675 | if ( getuid() == 0 ) |
669 | setpriority( PRIO_PROCESS, qlPid, 19 ); | 676 | setpriority( PRIO_PROCESS, qlPid, 19 ); |
670 | } | 677 | } |
671 | } | 678 | } |