This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Slow manipulation of network-shared files

This is wordy but I've tried to make it clear :-)

I have a Perl app running in Cygwin 1.7.1, whose job is to monitor the log
files being written by a Java program on another Windows Server 2003 box
elsewhere on the LAN.  (I'm using the CPAN File::Tail module, which provides
'tail -f' functionality, to monitor the log.)  

The actual I/O is fine.  File::Tail responds very quickly to new data being
written by the Java program to the log files in the shared folder on the

The Perl app watches for log messages from the Java program that say, in
effect, "I just closed file foo.txt".  It then moves foo.txt into another

However, it is frequently the case that the Perl program cannot move
(File::Move) the file - sometimes even after trying 5 times at one-second
intervals.  My suspicion is that the file is slow to be seen as officially
"closed" by all interested parties.

And even when the Java program has halted, and has presumably closed all the
files it created, but has not yet been "Quit" from the GUI, the Perl program
is glacially slow to move the remaining files.  What's more, at this point
any other bash shells I'm running in Cygwin become almost completely
unresponsive, even just moving the cursor.

When I quit the Java app from its GUI, everything instantly returns to

I'm guessing this has something to do with concurrency control over
network-shared resources (the output files Java wrote and I'm trying to

Just to add another layer of complexity, the Cygwin host OS (WinServer 2003)
is running as a virtual machine hosted by a real box running WinServer 2003
and Virtual Server 2005.

Any explanations, solutions, or workarounds?



View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]