Unable to delete directory in Cygwin

mwoehlke mwoehlke@tibco.com
Mon Jun 19 15:07:00 GMT 2006


Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> According to Gina Verlekar on 6/15/2006 3:53 AM:
>> Hi,
>>
>> I have implemented some changes in the linker code for some intermediate
>> processing. For that I need to create a temporary directory, generate
>> some intermediate  in it, process those files by calling a function.
>> After processing of the intermediate files, I delete the intermediate
>> files and the temporary directory.	
>> While this logic works fine in the linux, the temporary directory does
>> not get deleted in cygwin.
> 
> Windows is not Linux, and will not allow users to delete in-use
> directories (where a directory is considered in-use if it contains files,
> or if any process is using that directory as its current working
> directory), nor the clean deletion of files that are still open.  POSIX
> allows this behavior, and cygwin cannot change Window's implementation of
> deletion semantics.  Just because Linux behaves nicer doesn't mean that it
> is portable to remove in-use directories.  Fix your code to first close
> all outstanding file handles before trying to remove the files, and then
> the directory.
> 
> That said, cygwin does try to emulate linux, and if someone were to
> contribute a patch that would allow cygwin to emulate directory deletion
> if it knows that all open handles have also been scheduled for unlinking
> at process end, then http://cygwin.com/acronyms/#PTC.

Not a patch, but for the record, it looks like Interix solves this 
problem (http://www.interopsystems.com/tools/tm.aspx?m=9403). Maybe 
Cygwin could do something similar?

(And in case that link dies; apparently Interix has a special 'temp' 
directory where "unlinked" files are sent until their handles are all 
closed.)

-- 
Matthew
...Ruthlessly beating Windows with a hammer until it looks like POSIX.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list