This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: newbie: Out of order execution in script
- To: schwarza at gdls dot com,cygwin at cygwin dot com
- Subject: Re: newbie: Out of order execution in script
- From: "Larry Hall (RFK Partners, Inc)" <lhall at rfk dot com>
- Date: Wed, 22 Nov 2000 09:59:51 -0500
At 05:57 PM 11/21/2000, schwarza@gdls.com wrote:
>I'm using the latest 'stable' version of cygwin (1.1.5) on a Win95 platform
>It looks like a script was executed after the statement following the
>script started - out of order execution. Is this possible?
>
>In a script I execute:
>
>importScript=<path>/import.sh
>importMain=<filename>
>tmp=/tmp/$$.gnatmake
>gnatI=${tmp}/gnatI
>outImp=${tmp}/<filename>
>
>${importScript} ${importMain} ${tmp}
>
>sed -e '/(/d' \
> -e 's@/kostabi@@' \
> -e 's@^@\ -aI/kostabi@' \
> -e 's@/@\\@g' ${outImp}.imp > ${gnatI}
>
>The messages below are:
>
>[1] sed: can't read /tmp/398883.gnatmake/device_control_main.imp: No such
>file or directory
>
>[2] Main file: device_control_main
>
>which come in the exact order shown.
>
>The issue is that message [2] is output by the ${importScript} line, and
>message [1] indicates that the script has not executed.
>
>In looking at ${tmp} I do see a successful generation of the output file
>(${outImp}.imp) indicating that the statement before the 'sed' was run
>successfully. I'm guessing that the 'sed' was executed before the script
>was started, and failed because the output file was not generated. This
>script ran successfully under cywin-b20.1 and I don't see what I'm doing
>wrong.
>
>Any idea what I did?
You used Windows 95 (I wish I were kidding!) I've noted in the past that
there can be a noticeable lag between when a file is created and when it
registers in the filesystem. You can see this lag by running some program
(like touch) which creates a file. If you watch the directory where the
file will be created in the Explorer, you will notice there is some lag
between when you issue the command and when it appears. This is NOT just
an artifact of the GUI/Explorer but a real delay. If you ask for the
existence of the file before it shows up in the Explorer, you will find that
the file is not found. The solution? Your best bet is to get a better
(Windows) O/S. I haven't checked to see whether this issue persists on
later 9x versions. It doesn't happen on NT versions. Alternatively, you're
left with the option of implementing work-arounds that poll to see if the
file you know was just created actually exists and to "wait" until it
actually shows up. This was the only way I found to guarantee I would get
what I expect. YMMV.
Larry Hall lhall@rfk.com
RFK Partners, Inc. http://www.rfk.com
118 Washington Street (508) 893-9779 - RFK Office
Holliston, MA 01746 (508) 893-9889 - FAX
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com