1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-19 06:05:56 +02:00

[161838] local shell reports isActive() wrong

This commit is contained in:
Martin Oberhuber 2007-08-03 14:40:40 +00:00
parent f1764e6689
commit 9792926712
2 changed files with 14 additions and 4 deletions

View file

@ -12,7 +12,7 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
* {Name} (company) - description of contribution.
* Martin Oberhuber (Wind River) - [161838] local shell reports isActive() wrong
*******************************************************************************/
package org.eclipse.rse.internal.services.local.shells;
@ -52,7 +52,13 @@ public class LocalHostShell extends AbstractHostShell implements IHostShell
*/
public boolean isActive()
{
return _shellThread.isAlive();
if (_stdoutHandler.isFinished()) {
if (_shellThread.isAlive()) {
_shellThread.stopThread();
}
return false;
}
return true;
}
/* (non-Javadoc)

View file

@ -15,6 +15,7 @@
* Javier Montalvo Orús (Symbian) - 138619: Fix codepage on Win2K
* Lothar Werzinger (Tradescape) - 161838: Support terminating local shells
* David McKnight (IBM) - [189387] Use specified encoding for shell output
* Martin Oberhuber (Wind River) - [161838] local shell reports isActive() wrong
*******************************************************************************/
package org.eclipse.rse.internal.services.local.shells;
@ -359,7 +360,9 @@ public class LocalShellThread extends Thread
}
catch (IOException e)
{
System.out.println(e);
//MOB: Exception is expected when the process is already dead
//System.out.println(e);
// make the thread exit;
_isShell = false;
}
@ -381,7 +384,8 @@ public class LocalShellThread extends Thread
}
catch (InterruptedException e)
{
System.out.println(e);
//System.out.println(e);
_isCancelled = true;
}
//This function is where the Threads do real work, and return false when finished