-----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 > files 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. > > /* ldmain.c */ > main() > { > . > . > my_function(); > . > . > delete tmp_directory;//I have to delete the tmp_directory only here > } pseudocode like this is worthless when asking for help. Post a simple, self-contained, compiling testcase if you want more help. - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEkVYs84KuGfSFAYARAuREAJ9EnUBagCb2fXjvJ0y77GKkF+ZXCgCfdo4Y l0H2f8Bd6sxUSEQ5mglS8Tw= =YWk6 -----END PGP SIGNATURE----- -- 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/