Return-Path: Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 83478 invoked by uid 500); 1 Feb 2003 05:13:46 -0000 Received: (qmail 83475 invoked from network); 1 Feb 2003 05:13:46 -0000 Received: from icarus.apache.org (208.185.179.13) by daedalus.apache.org with SMTP; 1 Feb 2003 05:13:46 -0000 Received: (qmail 61543 invoked by uid 1142); 1 Feb 2003 05:13:45 -0000 Date: 1 Feb 2003 05:13:45 -0000 Message-ID: <20030201051345.61542.qmail@icarus.apache.org> From: conor@apache.org To: jakarta-ant-cvs@apache.org Subject: cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/perforce P4HandlerAdapter.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N conor 2003/01/31 21:13:45 Modified: src/main/org/apache/tools/ant/taskdefs/optional/perforce Tag: ANT_15_BRANCH P4HandlerAdapter.java Log: Merged from HEAD PR: 16544 Revision Changes Path No revision No revision 1.5.2.1 +34 -13 jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4HandlerAdapter.java Index: P4HandlerAdapter.java =================================================================== RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/perforce/P4HandlerAdapter.java,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -u -w -u -r1.5 -r1.5.2.1 --- P4HandlerAdapter.java 10 Jan 2002 13:59:38 -0000 1.5 +++ P4HandlerAdapter.java 1 Feb 2003 05:13:45 -0000 1.5.2.1 @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2001 The Apache Software Foundation. All rights + * Copyright (c) 2001-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -87,18 +87,10 @@ } //Now read any input and process - - BufferedReader input = new BufferedReader( - new InputStreamReader( - new SequenceInputStream(is, es))); - - String line; - while ((line = input.readLine()) != null) { - process(line); - } - - input.close(); - + Thread output = new Thread(new Reader(is)); + Thread error = new Thread(new Reader(es)); + output.start(); + error.start(); } catch (Exception e) { throw new BuildException(e); @@ -123,4 +115,33 @@ public void stop() { } + + public class Reader implements Runnable { + protected InputStream mystream; + public Reader(InputStream is) + { + mystream=is; + } + public void setStream(InputStream is) { + mystream=is; } + public void run() { + BufferedReader input = new BufferedReader( + new InputStreamReader(mystream)); + + String line; + try { + while ((line = input.readLine()) != null) { + synchronized (this){ + process(line); + } + } + } + catch (Exception e) { + throw new BuildException(e); + } + } + + } +} +