9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Maurício CA" <mauricio.antunes@gmail.com>
To: 9fans@9fans.net
Subject: Re: [9fans] Different results for the same rc script when using listen1
Date: Mon, 25 Apr 2011 03:14:07 +0000	[thread overview]
Message-ID: <ip2otv$g9j$1@dough.gmane.org> (raw)
In-Reply-To: <20110425020029.GA29551@dinah>

> It fails on my Linux machine also.  It's because an rfork with RFNOWAIT
> sets up a child proc that will ignore SIGCHLD.  If the program that
> is executed (in this case rc) calls fork or exec all SIGCHLD signals
> will be ignored, see signal(7).
>
> Ultimately, this causes rc to set status='' for every process it forks.
> That's why all those tests are returning true.

Instead of assuming status='' for every process, rc seems to be just
ignoring process status and keeping the $status value it already had. See
this example, exactly like what I used before, but with a pattern test
that set status to 'no match':

   #!/usr/local/plan9/bin/9 rc
   ~ 1 2
   for (i in `{seq 1 5}){
       if (test $i -eq 3) {
           echo $i equals 3
       }
       if not echo $i is different from 3
   }

Now, instead of true for every step, we have false:

   $ dial 'tcp!localhost!8080'
   1 is different from 3
   2 is different from 3
   3 is different from 3
   4 is different from 3
   5 is different from 3

Thanks,

Maurício





  reply	other threads:[~2011-04-25  3:14 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-24  5:09 Maurício CA
2011-04-24  5:22 ` andrey mirtchovski
2011-04-24  7:30   ` Maurício CA
2011-04-24 14:20 ` smiley
2011-04-24 17:05   ` Maurício CA
2011-04-24 17:17     ` Bakul Shah
2011-04-25  0:16       ` Maurício CA
2011-04-25  2:00         ` Anthony Martin
2011-04-25  3:14           ` Maurício CA [this message]
2011-04-25  3:17           ` erik quanstrom
2011-04-25  3:36             ` erik quanstrom
2011-04-25  3:58               ` Bakul Shah
2011-04-25  4:39                 ` erik quanstrom
2011-04-25  5:27                   ` Lyndon Nerenberg
2011-04-25  5:53                   ` Bakul Shah
2011-04-25  6:59                     ` Robert Ransom
2011-04-25 14:56                       ` Bakul Shah
2011-04-25 15:00                         ` erik quanstrom
2011-04-25 16:17                         ` Skip Tavakkolian
2011-04-25 16:27                           ` Joseph Stewart
2011-04-25 20:13                           ` smiley
2011-04-25 20:16                             ` Lyndon Nerenberg
2011-04-25 20:18                             ` erik quanstrom
2011-04-25 14:44                     ` erik quanstrom
2011-04-25 13:53               ` Maurício CA
2011-04-25 14:42                 ` erik quanstrom
2011-04-27 21:57                   ` Maurício CA
2011-04-26  9:02               ` dexen deVries
2011-04-26 12:57                 ` erik quanstrom
2011-04-25  2:03         ` andrey mirtchovski
2011-04-25  2:14           ` Iruatã Souza
2011-04-25  2:20             ` andrey mirtchovski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='ip2otv$g9j$1@dough.gmane.org' \
    --to=mauricio.antunes@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).