Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4523660

(process) Process.destroy fails to close in/out/err streams causing IOException

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P4
    • Resolution: Won't Fix
    • Affects Version/s: 1.4.0
    • Fix Version/s: None
    • Component/s: core-libs
    • Labels:
    • Subcomponent:
    • CPU:
      sparc
    • OS:
      solaris_8

      Description

      Bug mentioned below exists for all previous JDK releases and current Merlin release.

      File handles are not getting freed up when a Process object is destroyed.
      User needs to implement a close for each stream. It would be better
      if destroy() method could close all streams for a given process.

      Please see workaround on how to fix testcase to get around file handle issue.
      This needs to be documented for Merlin in some way or fixed in future release.


      Testcase below:

      import java.io.IOException;
      class FHT {
           public static void main(String args[]) {
               for (int i = 0; i < 4000; i++) {
                   try {
                       Process p = Runtime.getRuntime().exec("/bin/echo hello");
                       p.destroy();

                   }
                   catch(IOException x) {
                       System.err.println("Bogus IOException after " + i +
                                          " invocations: " + x.getMessage());
                       return;
                   }
               }
           }
      }

      We need to close streams only if we have not given them out.


      ###@###.### 2002-06-24

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                collins Gary Collins (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: