quicker error check before sketch run

This commit is contained in:
Manindra Moharana
2014-09-21 00:27:33 -07:00
parent 02690d316d
commit 3bab34965a
2 changed files with 23 additions and 1 deletions
@@ -308,6 +308,12 @@ public class ErrorCheckerService implements Runnable{
* last runManualErrorCheck() call.
*/
private final static long errorCheckInterval = 500;
/**
* Bypass sleep time
*/
private volatile boolean noSleep = false;
/**
* The way the error checking happens is: DocumentListeners are added
@@ -334,7 +340,13 @@ public class ErrorCheckerService implements Runnable{
while (!stopThread.get()) {
try {
// Take a nap.
Thread.sleep(sleepTime);
if(!noSleep) {
Thread.sleep(sleepTime);
}
else {
noSleep = false;
log("Didn't sleep!");
}
} catch (Exception e) {
log("Oops! [ErrorCheckerThreaded]: " + e);
// e.printStackTrace();
@@ -426,6 +438,12 @@ public class ErrorCheckerService implements Runnable{
lastErrorCheckCall = System.currentTimeMillis();
}
public void quickErrorCheck() {
//TODO: Experimental, lookout for threading related issues
noSleep = true;
log("quickErrorCheck()");
}
protected SketchChangedListener sketchChangedListener;
protected class SketchChangedListener implements DocumentListener{
@@ -335,6 +335,8 @@ public class ExperimentalMode extends JavaMode {
@Override
public Runner handleRun(Sketch sketch, RunnerListener listener) throws SketchException
{
final DebugEditor editor = (DebugEditor)listener;
editor.errorCheckerService.quickErrorCheck();
if (enableTweak) {
enableTweak = false;
return handleTweakPresentOrRun(sketch, listener, false);
@@ -359,6 +361,8 @@ public class ExperimentalMode extends JavaMode {
@Override
public Runner handlePresent(Sketch sketch, RunnerListener listener) throws SketchException
{
final DebugEditor editor = (DebugEditor)listener;
editor.errorCheckerService.quickErrorCheck();
if (enableTweak) {
enableTweak = false;
return handleTweakPresentOrRun(sketch, listener, true);