aboutsummaryrefslogtreecommitdiff
path: root/src/org/gnunet/util/Scheduler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/gnunet/util/Scheduler.java')
-rw-r--r--src/org/gnunet/util/Scheduler.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/org/gnunet/util/Scheduler.java b/src/org/gnunet/util/Scheduler.java
index 611467e..0ea9e15 100644
--- a/src/org/gnunet/util/Scheduler.java
+++ b/src/org/gnunet/util/Scheduler.java
@@ -391,8 +391,9 @@ public class Scheduler {
391 391
392 private static void addSubscriberTask(Collection<TaskConfiguration> executableTasks, 392 private static void addSubscriberTask(Collection<TaskConfiguration> executableTasks,
393 TaskConfiguration[] subscribers, int eventType) { 393 TaskConfiguration[] subscribers, int eventType) {
394 if (subscribers[eventType] == null) 394 if (subscribers[eventType] == null) {
395 return; 395 return;
396 }
396 executableTasks.add(subscribers[eventType]); 397 executableTasks.add(subscribers[eventType]);
397 subscribers[eventType].ctx.reasons.add(eventToReason[eventType]); 398 subscribers[eventType].ctx.reasons.add(eventToReason[eventType]);
398 } 399 }
@@ -570,8 +571,10 @@ public class Scheduler {
570 571
571 ByteBuffer buffer = ByteBuffer.allocate(256); 572 ByteBuffer buffer = ByteBuffer.allocate(256);
572 573
574 boolean quit = false;
575
573 try { 576 try {
574 while (true) { 577 while (!quit) {
575 buffer.clear(); 578 buffer.clear();
576 579
577 fileChannel.read(buffer); 580 fileChannel.read(buffer);
@@ -581,17 +584,25 @@ public class Scheduler {
581 pipe.sink().write(buffer); 584 pipe.sink().write(buffer);
582 } 585 }
583 } catch (IOException e) { 586 } catch (IOException e) {
584 throw new IOError(e); 587 quit = true;
585 } 588 }
586 589
587 } 590 }
588 } 591 }
589 592
590 593 public static FilePipe openFilePipe(File file) {
591 public static FilePipe createFilePipe(File file) {
592 FilePipeThread fpt = new FilePipeThread(file); 594 FilePipeThread fpt = new FilePipeThread(file);
593 fpt.setDaemon(true); 595 fpt.setDaemon(true);
594 fpt.start(); 596 fpt.start();
595 return new FilePipe(fpt); 597 return new FilePipe(fpt);
596 } 598 }
599
600 public static class AsyncProcess {
601 // getIn, getOut, getErr
602
603 }
604
605 public static AsyncProcess openAsyncProcess(/*...*/) {
606 throw new UnsupportedOperationException("not implemented yet");
607 }
597} 608}