diff options
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java')
-rw-r--r-- | src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java b/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java index 2391d4d..17780b5 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java +++ b/src/main/java/org/openslx/taskmanager/tasks/WakeOnLan.java @@ -93,14 +93,17 @@ public class WakeOnLan extends AbstractTask } list.add( client.mac ); } + if ( byMethod.isEmpty() ) + break; + status.addMsg( "Starting job distribution..." ); // Execute List<Future<?>> waitList = new ArrayList<>(); for ( Entry<String, ArrayList<String>> it : byMethod.entrySet() ) { - String[] parts = it.getKey().split( "//" ); - String method = parts[0]; - List<String> macs = it.getValue(); - String macString = Strings.join( macs.iterator(), ' ' ); - String ip = parts[1]; + final String[] parts = it.getKey().split( "//" ); + final String method = parts[0]; + final List<String> macs = it.getValue(); + final String macString = Strings.join( macs.iterator(), ' ' ); + final String ip = parts[1]; final int jobId = ++jobIdCounter; if ( method.equalsIgnoreCase( "DIRECT" ) ) { // Directly from server @@ -164,8 +167,7 @@ public class WakeOnLan extends AbstractTask e.printStackTrace(); } } - // If we had any jobs to do, loop again, otherwise we're done - } while ( !byMethod.isEmpty() ); + } while ( true ); status.addMsg( "Mainloop done" ); if ( this.clients.isEmpty() ) return true; |