From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9365 invoked by alias); 14 May 2013 01:25:41 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 31399 Received: (qmail 4738 invoked from network); 14 May 2013 01:25:35 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at brasslantern.com does not designate permitted sender hosts) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type:x-gm-message-state; bh=YddHP0JftwwrFZmGUHfcLa/p7mCUbUXdHig05hOI86Y=; b=LaNMzPdgbsaNvbCmi1n9qD4tqo1G81nRuC+wUXqA8ttKzKOe9s3V/wkemdKY5UtRjM 8KRvzzrLtTaK89dDCRkmg6U2g+ZarjltlJKEB3/ESSQ+IcUP96LnWPFIOlPNnKGcCclt o5afRiNCDp5oX52vr0wPve+zcvDj15OhZfBa824eT8w/e+uZc/vH3do2g6L10cP+fA51 6T4dgN9KhEUwpOhq609Cj9CLQ9beyp707rmRUtjOePkPdbYJW4mHIt9mtr4WebRe64gG rCnhNUe0j6DJch+ORcCnXIMs4yhS6Scyci8GODugHv1p/g1whDqMjkZvFx1k8TS4cuP/ mfKw== MIME-Version: 1.0 X-Received: by 10.152.26.33 with SMTP id i1mr11474769lag.10.1368494727385; Mon, 13 May 2013 18:25:27 -0700 (PDT) In-Reply-To: <20130513152720.GA10320@chaz.gmail.com> References: <20130513152720.GA10320@chaz.gmail.com> Date: Mon, 13 May 2013 18:25:27 -0700 Message-ID: Subject: Re: zpty -r and pipes From: Bart Schaefer To: Zsh hackers list Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQmV2rSuoOB/J4zuaVlihy+PjYkdwrQt+1vqjFfAuHMVqmhLDPbOeP6iVw4A16dEgs5ybIWW On Mon, May 13, 2013 at 8:27 AM, Stephane Chazelas wrote: > > $ zsh -c 'zmodload zsh/zpty; zpty E echo test; zpty -r E | cat' > $ > > No output. Check the exit status: % zsh -c 'zmodload zsh/zpty; zpty E echo test; zpty -r E | cat && print $pipestatus' 1 0 % "zpty -r" is failing. I wonder if this is another case of a read() being interrupted by a signal? It seems to be a race, I can affect it by inserting a sleep: % zsh -c 'zmodload zsh/zpty; zpty E echo test; (zpty -r E) | cat' test % zsh -c 'zmodload zsh/zpty; zpty E echo test; {sleep 1; zpty -r E} | cat' % zsh -c 'zmodload zsh/zpty; zpty E echo test; {zpty -r E; sleep 1} | cat' test