diff options
| author | Paul Eggert | 2017-08-25 12:44:52 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-08-25 13:19:45 -0700 |
| commit | 2b7e009257a40ef1dcad9845fe61764fea08cdea (patch) | |
| tree | 416594c77bd7b015763726f48ee160e25a47fa61 /etc | |
| parent | 9a223dab9036ff72b16e7a9878af090c041fd0c6 (diff) | |
| download | emacs-2b7e009257a40ef1dcad9845fe61764fea08cdea.tar.gz emacs-2b7e009257a40ef1dcad9845fe61764fea08cdea.zip | |
Fix file-attributes race on GNU hosts
* doc/lispref/files.texi (File Attributes):
Document file-attributes atomicity.
* etc/NEWS: Document the fix.
* src/dired.c (file_attributes): New args DIRNAME and FILENAME,
for diagnostics. All callers changed. On platforms like
GNU/Linux that support O_PATH, fix a race condition in
file-attributes and similar functions, so that these functions do
not return nonsense if a directory entry is replaced while getting
its attributes. On non-GNU platforms, do a better (though not
perfect) job of detecting the race, and return nil if detected.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 6 |
1 files changed, 6 insertions, 0 deletions
| @@ -1428,6 +1428,12 @@ job of signaling list cycles instead of looping indefinitely. | |||
| 1428 | can be used for creation of temporary files of remote or mounted directories. | 1428 | can be used for creation of temporary files of remote or mounted directories. |
| 1429 | 1429 | ||
| 1430 | +++ | 1430 | +++ |
| 1431 | ** On GNU platforms when operating on a local file, 'file-attributes' | ||
| 1432 | no longer suffers from a race when called while another process is | ||
| 1433 | altering the filesystem. On non-GNU platforms 'file-attributes' | ||
| 1434 | attempts to detect the race, and returns nil if it does so. | ||
| 1435 | |||
| 1436 | +++ | ||
| 1431 | ** The new function 'file-local-name' can be used to specify arguments | 1437 | ** The new function 'file-local-name' can be used to specify arguments |
| 1432 | of remote processes. | 1438 | of remote processes. |
| 1433 | 1439 | ||