This is the mail archive of the mauve-discuss@sources.redhat.com mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Question about Thread.sleep(1000) in java.io.PipedStream close.java code


I have a question about the Thread.sleep(1000) command in the close.java code. The delay does not seem long enough
On an R64 machine that I'm testing. When I change the code to Thread.sleep(100) the code seems to delay long enough for execute the code. 
Is this correct ? 

    1  // Tags: JDK1.0
     2
     3  // This test is from Jeff Sturm.
     4  // It tests whether close() on a PipedInputStream will correctly
     5  // notify the writer.
     6
     7  package gnu.testlet.java.io.PipedStream;
     8
     9  import gnu.testlet.Testlet;
    10  import gnu.testlet.TestHarness;
    11  import java.io.*;
    12
    13  public class close implements Runnable, Testlet {
    14          Thread main;
    15          PipedInputStream in;
    16          PipedOutputStream out;
    17          TestHarness harness;
    18
    19          public void run() {
    20                  try {
    21                          Thread.sleep(1000);
    22                          harness.debug("Closing pipe input stream:");
    23                          in.close();
    24                          Thread.sleep(1000);
    25                          harness.debug("Interrupting pipe reader:");
    26                          main.interrupt();
    27                  } catch (Throwable t) {
    28                          harness.debug(t);
    29                  }
    30          }
    31
    32          public void test (TestHarness harness) {
    33                  int val = 23;
    34                  try {
    35                          close test = new close();
    36                          test.harness = harness;
    37
    38                          test.main = Thread.currentThread();
    39                          test.out = new PipedOutputStream();
    40                          test.in = new PipedInputStream(test.out);
    41
    42                          (new Thread(test)).start();
    43
    44                          val = test.in.read();
    45                  } catch (InterruptedIOException t) {
    46                          harness.check(true,"read() interrupted okay");
    47                  } catch (IOException t) {
    48                          harness.fail("Unexpected IOException thrown");
    49                  }
    50          }
    51  }

Pat Ellis
SAS Tools, Testing & Validation
Phone:      (919) 531-0355   
R2263     Patrick.Ellis@sas.com
SAS...  The Power to Know


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]