SYSTEMROOT, cygpath, and /proc funniness
Nellis, Kenneth
Kenneth.Nellis@acs-inc.com
Fri Apr 22 17:03:00 GMT 2011
In .bash_profile I use cygpath to convert several environment
variables that contain Windows paths to instead contain Unix
paths. One in particular, SYSTEMROOT, has caused several
problems, one of which is causing ClearCase's cleartool to be
non-functional. Another is strictly within Cygwin itself
where there seems to be some funny relationship between
SYSTEMROOT, having the working directory be /proc, and the
cygpath command.
The script, below, demonstrates the problem. It takes the
following options:
0: run with defaults
1: run with cd /proc
2: run with SYSTEMROOT cygpath'd
3: run with both options
Only when run with option 3 does the problem appear, which is
that cygpath hangs for up to 27 seconds on occasion. The
following script runs 20 iterations, which seem enough to
catch the hang situation several times (for me, at least).
The sleep command increases the frequency of the hanging
situation.
-------------------8<--------------------------
#!/bin/bash
[ $# -eq 1 ] || {
echo "Usage: $0 {0|1|2|3}"
exit 1
}
case $1 in
0) ;;
1) cd /proc
;;
2) SYSTEMROOT=$(cygpath "$SYSTEMROOT")
;;
3) cd /proc
SYSTEMROOT=$(cygpath "$SYSTEMROOT")
;;
*) echo "$0: invalid parameter: $1"
exit 1
;;
esac
echo "PWD=$PWD"
echo -n "SYSTEMROOT="; printenv SYSTEMROOT
for ((n=1; n<=20; n++))
do
echo "Iteration $n at $(date) ..."
time cygpath /proc
sleep 1
done
exit
-------------------8<--------------------------
Here is an output fragment showing that cygpath took 27
seconds at the first iteration:
-------------------8<--------------------------
Iteration 1 at Fri Apr 22 09:46:18 EDT 2011 ...
/proc
real 0m27.125s
user 0m0.030s
sys 0m0.031s
-------------------8<--------------------------
"cygcheck -svr > cygcheck.out" is attached.
--Ken Nellis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cygcheck.out
Type: application/octet-stream
Size: 29265 bytes
Desc: cygcheck.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20110422/e9c6dfe2/attachment.obj>
-------------- next part --------------
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list