From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Larry Hall (RFK Partners, Inc)" To: John Wiersba , "'cygwin'" Subject: Re: unlink() problem Date: Tue, 31 Jul 2001 16:00:00 -0000 Message-id: <4.3.1.2.20010731185222.02172eb8@pop.ma.ultranet.com> References: <03F4742D8225D21191EF00805FE62B9908E23F92@aa-msg-01.medstat.com> X-SW-Source: 2001-07/msg01800.html At 06:22 PM 7/31/2001, John Wiersba wrote: >I'm having a problem with unlink(). I've scanned the FAQ and searched some >in the newsgroup archives for information about the following problem. I >did find a post (see > http://sources.redhat.com/ml/cygwin/2001-05/msg01095.html ) but no apparent >resolution. > >$ touch asdf >$ perl -i -pe 1 asdf >Can't do inplace edit on asdf: Permission denied. > >What perl is doing is equivalent to: > >$ perl -e ' > open A, "< asdf" or die "one $!"; # open asdf for read > unlink "asdf"; > open B, "> asdf" or die "two $!"; # open asdf for write > while () { print B } # copy from A to B >' >two Permission denied at -e line 4. > >The problem: after the unlink(), I can't open the same filename for write >as I can on unix. If I pause the program after unlinking asdf, it is still >there and can be seen by ls, but can't be read by ls -l. > >Is there a workaround for this behavior? Is it considered a bug or is it >just a quirk of the cygwin implementation of trying to implement unix >filesystem semantics on top of windows? The latter. This has been quite a day for this issue! This is the third time it came up. Perhaps this qualifies as an FAQ now! ;-) See my previous posts about this subject from earlier in the day: http://www.cygwin.com/ml/cygwin/2001-07/msg01797.html http://www.cygwin.com/ml/cygwin/2001-07/msg01774.html There's also a related FAQ, although the message it mentions doesn't seem to pop up anymore, which gives insight into the underlying implementation. See: http://www.cygwin.com/faq/faq_4.html#SEC57 Of course, the code is the "last word" on this subject in terms of the actual implementation. 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 -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/