Opened 14 years ago
Closed 14 years ago
#2531 closed Patches (fixed)
Workaround for broken remove() broken
Reported by: | Owned by: | Beman Dawes | |
---|---|---|---|
Milestone: | Boost 1.38.0 | Component: | filesystem |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
operations_test fails on QNX 6.4.0 with:
Warning: line 820 exception reports default_error_condition().value() 1, should be 93
Line 821 also fails with boost::filesystem::remove: Operation not permitted.
The problem is that a workaround for QNX and other OSes in posix_remove() compares the return value of unlink() against EPERM instead of comparing errno against EPERM.
Could it ever have worked? EPERM is typically 1 while the return value from unlink() in case of failure is typically -1.
The attached patch resolves the issue and the operations_test test now passes. As a side note, the test also passes fully with the workaround disabled on QNX 6.4.0.
Attachments (1)
Change History (2)
by , 14 years ago
Attachment: | operations.cpp.patch added |
---|
comment:1 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [50562]) Filesystem: Fix #2531 by applying suggested patch