-
Notifications
You must be signed in to change notification settings - Fork 571
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
getcwd() fails to fail on Cygwin #16366
Comments
From zefram@fysh.orgCreated by zefram@fysh.orgI'm spinning this off from [perl #132648] because it's got too big. On Cygwin (not reflected in the perl -V below), it has been found that Both the XS implementation Cwd::getcwd() and _backtick_pwd() exhibit The probable fix, which will be needed in multiple places, is to stat the Perl Info
|
From Stromeko@nexgo.deZefram writes:
This exposes behaviour mandated by the underlying OS or rather the file
It's perfectly possible even on a fully conformant POSIX system that the
I'd say the bug here is in the assumption made by the test.
As the maintainer of the official Cygwin Perl I'd be inclined to remove Regards, SD adaptations for KORG EX-800 and Poly-800MkII V0.9: |
The RT System itself - Status changed from 'new' to 'open' |
From zefram@fysh.orgAchim Gratz wrote:
Earlier in the discussion on [perl #132648] I thought that might be
Which assumption exactly? The assumption that rmdir(), having indicated
If the decision is that getcwd() remain buggy on Cygwin, then I suppose -zefram |
From Stromeko@nexgo.deZefram writes:
As always on Windows, things are a bit more complicated than that. I've
From my reading of the corresponding man page POSIX doesn't mandate that
It seems to me you are making the assumption that the getcwd function
Yet that feature is a property of the Linux syscall API if even that,
That may not be the worst outcome. It actually does mean something, but
Well, the question here is if the gain outweighs the cost, given that Note that for a complete fix it's not enough to add more checks in Regards, Factory and User Sound Singles for Waldorf Q+, Q and microQ: |
From zefram@fysh.orgAchim Gratz wrote:
That's a red herring. Obviously concurrent activity can in general
"The getcwd() function shall place an absolute pathname of the current -zefram |
From Stromeko@nexgo.deZefram writes:
Yes there is and that's the reason your test fails. The entry for cwd
Which it dutifully does. Note the complete absence of _any_ discussion
It still does resolve to it and the directory entry is in fact still Again, just skip that test on Cygwin (or mark it as expected to fail) Regards, Factory and User Sound Singles for Waldorf rackAttack: |
From zefram@fysh.orgAchim Gratz wrote:
That's not a race condition. It's not dependent on any concurrent
That is an unfortunate omission for getcwd(3), but the situation is
That doesn't sound like "resolving" to me. That the name still exists -zefram |
From Stromeko@nexgo.deZefram writes:
Yes it is, just not one you've created and so you don't expect it to be If the directory's link count becomes 0 and no process has the On Windows you can observe the point where the . and .. entries have
Permission, not mandate. Whether or not "the implementation considers
Cygwin is a user-mode layer on top of Windows' Win32 subsytem. There You do in general not know whether a directory about to be removed is
Which might entirely be the point of the exercise, so that you can't go Regards, Waldorf MIDI Implementation & additional documentation: |
Migrated from rt.perl.org#132733 (status was 'open')
Searchable as RT132733$
The text was updated successfully, but these errors were encountered: