From mboxrd@z Thu Jan 1 00:00:00 1970 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> References: From: Sean Hinchee Message-ID: <56AEAC38.4040701@gmail.com> Date: Sun, 31 Jan 2016 18:52:08 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------090709030909070008000907" Subject: Re: [9fans] rc exec error behaviour Topicbox-Message-UUID: 80966cb8-ead9-11e9-9d60-3106f5b1d025 This is a multi-part message in MIME format. --------------090709030909070008000907 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Will this project (rc-go?) be hosted at a particular bitbucket/hg repository for pull requests, etc? On 01/31/2016 12:58 AM, Skip Tavakkolian wrote: > Sign me up for testing. > > On Sat, Jan 30, 2016, 5:16 PM Prof Brucee > wrote: > > Any objections to me rewriting rc in go without all known bugs? > > On 31/01/2016 3:36 AM, > wrote: > > in the rc shell, when one has exec statement and the exec > fails, rc tries to > continue interpreting statements after the exec which fails > with a strange > EOF error because in the process of preparing filedescriptors > for exec, > the very fd thats used to read the script was closed. > > burnzez provided an example of this like: > > term% rc -c 'exec doesnotexist; echo test' > doesnotexist: './doesnotexist' directory entry not found > test > rc: /rc/lib/rcmain:29: token EOF: syntax error > > the manpage does not explicitely specify what should happen > when exec fails. > > i did try to have rc open the . script as OCEXEC and that > fixed the > problem, but it wont work for any other redirections and will > have side effects > as the close-on-exec flag is a propery of the channel and not > of the file > descriptor slot. so imagine stuff like . /fd/0... > > i think it would me most resonable to just have rc exit with > error status on > failure. are there any objections to this? > > -- > cinap > --------------090709030909070008000907 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Will this project (rc-go?) be hosted at a particular bitbucket/hg repository for pull requests, etc?

On 01/31/2016 12:58 AM, Skip Tavakkolian wrote:
Sign me up for testing.

On Sat, Jan 30, 2016, 5:16 PM=C2=A0Prof Brucee &= lt;prof.brucee@gmail.com> wrote:

Any objections to me rewriting rc in go without all known bugs?

On 31/01/2016 3:36 AM, <= cinap_lenrek@felloff.net> wrote:
in the rc shell, when one has exec statement and the exec fails, rc tries to
continue interpreting statements after the exec which fails with a strange
EOF error because in the process of preparing filedescriptors for exec,
the very fd thats used to read the script was closed.

burnzez provided an example of this like:

term% rc -c 'exec doesnotexist; echo test'
doesnotexist: './doesnotexist' directory entry not found test
rc: /rc/lib/rcmain:29: token EOF: syntax error

the manpage does not explicitely specify what should happen when exec fails.

i did try to have rc open the . script as OCEXEC and that fixed the
problem, but it wont work for any other redirections and will have side effects
as the close-on-exec flag is a propery of the channel and not of the file
descriptor slot. so imagine stuff like . /fd/0...

i think it would me most resonable to just have rc exit with error status on
failure. are there any objections to this?

--
cinap


--------------090709030909070008000907--