delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/11/22/15:19:30

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-Id: <4.3.1.2.20001122150913.020f6e18@pop.ma.ultranet.com>
X-Sender: lhall AT pop DOT ma DOT ultranet DOT com
X-Mailer: QUALCOMM Windows Eudora Version 4.3.1
Date: Wed, 22 Nov 2000 15:12:59 -0500
To: Randall R Schulz <rschulz AT teknowledge DOT com>, cygwin AT cygwin DOT com
From: "Larry Hall (RFK Partners, Inc)" <lhall AT rfk DOT com>
Subject: Re: newbie: Out of order execution in script
In-Reply-To: <p05010409b641d3d559f7@[192.168.0.53]>
References: <OF9D8082CB DOT EC2181DD-ON8525699F DOT 006539D4 AT gdls DOT com>
<OF9D8082CB DOT EC2181DD-ON8525699F DOT 006539D4 AT gdls DOT com>
Mime-Version: 1.0

I guess I'm confused as to why one should expect things exec'd to run in 
a certain sequence.  Isn't that the point of execing?  If you're going to 
start 2 processes yet expect one to do something before the other needs it,
you need to make sure the processes synchronize themselves.  Obviously, this
synchronization is not happening here or in Art's example AFAICT.  Why do
you expect to see synchronization here?

Larry


At 03:04 PM 11/22/2000, Randall R Schulz wrote:
>Hi,
>
>I've got an analogous problem under Windows 2000 Pro SP1. The problem began occurring in previously working BASH function when I upgraded to Cygwin 1.1.5. It is still happening in 1.1.6.
>
>Here's the shell function definition whose "side-effects" on the file ".logon" occur out of order:
>
>logon() {
>         if [ -n "$(jobs)" ]; then
>                 echo "There are stopped jobs." >&2
>                 return 1
>         fi
>
>         cd
>         echo "#!/bin/sh" >|.logon
>         cat  .env-initial >>.logon
>         echo "exec /bin/bash --login -i" >> .logon
>         exec -lc .logon
>}
>
>After running this function the "exec /bin/bash --login -i" line is the second line in the file (the #! line comes first). Here are the first few lines of ".logon" after the logon function is executed:
>
>-==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-
>#!/bin/sh
>exec /bin/bash --login -i
>ALLUSERSPROFILE="C:\\Documents and Settings\\All Users"
>APPDATA="C:\\Documents and Settings\\Randall R Schulz\\Application Data"
>CLASSPATH="C:\\WINNT\\System32\\QTJava.zip"
>COMMONPROGRAMFILES="C:\\Program Files\\Common Files"
>COMPUTERNAME="CLEMENS"
>COMSPEC="C:\\WINNT\\system32\\cmd.exe"
>-==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-
>
>My mail server is spam-blocked (wrongly) so only Larry and Art are going to see this mail.
>
>I'd like to help resolve this. If you have anything you'd like me to do to help diagnose the underlying problem, let me know. I've attached a file containing "cygcheck -s -v" output.
>
>RandyS
>
>
>At 13:48 -0500 11/22/00, schwarza AT gdls DOT com wrote:
>>I have rechecked the results and do not believe that this is
>>a Win95 issue.
>>
>>The following modified code was executed (bash -x <script> 2>&1 | tee
>><file>
>>
>>     [0] Statements prior to execution of [1]
>>
>>     [1] ${importScript} ${importMain} ${tmp}
>>
>>     [2] if [ ! -e ${outImp}.imp ] ; then
>>
>>     [3]     echo 'ERROR: Unable to find ' ${outImp}.imp
>>
>>     [4]    exit
>>
>>         fi
>>
>>     [5] sed -e '/(/d'                             \
>>             -e 's@/kostabi@@'                     \
>>             -e 's@^@\ -aI/kostabi@'               \
>>             -e 's@/@\\@g'           ${outImp}.imp > ${gnatI}
>>
>>
>>
>>It appears that:
>>
>>    [1] Was forked.
>>
>>    [2] Was immediately executed.
>>
>>    [3] Was sequentially executed.
>>
>>    [4] Was sequentially executed and the intermediate output for
>>        [1] was dumped.
>>
>>    [5] Was not executed.
>>
>>If I guessed correctly, the fork proceeded in parallel to the main
>>script execution. All output (echo) from the forked script was placed
>>into a temporary file. The 'echo' in the calling script generated an
>>out-of-order output. When the calling script 'exit' was executed, the
>>intermediate output stored for the called script was dumped. The trace
>>output is included below.
>>
>>Am I looking at this the wrong way?
>>
>>
>>art
>>---------------------------------------------------------------------
>>
>>[0] + echo 'Start processing ' device_control_main  ## executing called
>>script
>>[0]   Start processing  device_control_main
>>[0] + echo
>>/aaav/aaav/MPA/build/device_control/devices.ss/aaav_scm_mpa.rel/device_control_main.adb
>>[0] + /aaav/scripts/import.sh /tmp/386107.gnatmake/import.txt
>>/tmp/386107.gnatmake
>>
>>###  at this time the called script seems to be executing
>>
>>[2] + '[' '!' -e /tmp/386107.gnatmake/device_control_main.imp ']'
>>[3] + echo 'ERROR: Unable to find '
>>/tmp/386107.gnatmake/device_control_main.imp
>>[3] ERROR: Unable to find  /tmp/386107.gnatmake/device_control_main.imp
>>[4] + exit
>>
>>[1] Main file:  device_control_main
>>[1] /aaav/aaav/MPA/build/device_control/devices.ss/aaav_scm_mpa.rel
>>[1] ... more output
>>
>>
>>
>>--
>>Want to unsubscribe from this list?
>>Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
>
>



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019