[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    icecream/client
From:       Dirk Mueller <mueller () kde ! org>
Date:       2006-07-05 19:11:16
Message-ID: 1152126676.152127.15595.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 558653 by mueller:

fix std exception. finally found the error


 M  +10 -7     remote.cpp  


--- trunk/icecream/client/remote.cpp #558652:558653
@@ -541,6 +541,7 @@
 	throw(22);
     }
 
+    const char *preferred_host = getenv("ICECC_PREFERRED_HOST");
     if ( torepeat == 1 ) {
         string fake_filename;
         list<string> args = job.remoteFlags();
@@ -550,7 +551,6 @@
         for ( list<string>::const_iterator it = args.begin(); it != args.end(); ++it )
             fake_filename += "/" + *it;
         fake_filename += get_absfilename( job.inputFile() );
-        const char *preferred_host = getenv("ICECC_PREFERRED_HOST");
         GetCSMsg getcs (envs, fake_filename, job.language(), torepeat, 
 			job.targetPlatform(), job.argumentFlags(), 
 		        preferred_host ? preferred_host : string() );
@@ -592,7 +592,9 @@
         job.appendFlag( rand_seed, Arg_Remote );
 
         GetCSMsg getcs (envs, get_absfilename( job.inputFile() ), job.language(), torepeat, 
-			job.targetPlatform(), job.argumentFlags(), getenv("ICECC_PREFERRED_HOST") );
+			job.targetPlatform(), job.argumentFlags(), preferred_host ? preferred_host : string() );
+
+
         if (!local_daemon->send_msg (getcs)) {
             log_warning() << "asked for CS\n";
             throw( 0 );
@@ -603,7 +605,11 @@
         UseCSMsg **umsgs = new UseCSMsg*[torepeat];
 
         bool misc_error = false;
+        int *exit_codes = new int[torepeat];
+	for ( int i = 0; i < torepeat; i++ ) // init
+		exit_codes[i] = 42;
 
+
         for ( int i = 0; i < torepeat; i++ ) {
             jobs[i] = job;
             char buffer[PATH_MAX];
@@ -631,16 +637,12 @@
                     kill( getpid(), SIGTERM );
                     return 0; // shouldn't matter
                 }
-                ::exit( ret );
+                _exit( ret );
                 return 0; // doesn't matter
             } else {
                 jobmap[pid] = i;
             }
         }
-        int *exit_codes = new int[torepeat];
-	for ( int i = 0; i < torepeat; i++ ) // init
-		exit_codes[i] = 42;
-
         for ( int i = 0; i < torepeat; i++ ) {
             pid_t pid = wait( &status );
             if ( pid < 0 ) {
@@ -712,5 +714,6 @@
         return ret;
     }
 
+
     return 0;
 }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic