mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
Merge branch 'file-delete-docs' into 'master'
gfile: Document TOCTTOU avoidance using g_file_delete() See merge request GNOME/glib!1613
This commit is contained in:
commit
e4f4a40fb4
15
gio/gfile.c
15
gio/gfile.c
@ -4027,6 +4027,21 @@ g_file_make_symbolic_link (GFile *file,
|
||||
* Deletes a file. If the @file is a directory, it will only be
|
||||
* deleted if it is empty. This has the same semantics as g_unlink().
|
||||
*
|
||||
* If @file doesn’t exist, %G_IO_ERROR_NOT_FOUND will be returned. This allows
|
||||
* for deletion to be implemented avoiding
|
||||
* [time-of-check to time-of-use races](https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use):
|
||||
* |[
|
||||
* g_autoptr(GError) local_error = NULL;
|
||||
* if (!g_file_delete (my_file, my_cancellable, &local_error) &&
|
||||
* !g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
||||
* {
|
||||
* // deletion failed for some reason other than the file not existing:
|
||||
* // so report the error
|
||||
* g_warning ("Failed to delete %s: %s",
|
||||
* g_file_peek_path (my_file), local_error->message);
|
||||
* }
|
||||
* ]|
|
||||
*
|
||||
* If @cancellable is not %NULL, then the operation can be cancelled by
|
||||
* triggering the cancellable object from another thread. If the operation
|
||||
* was cancelled, the error %G_IO_ERROR_CANCELLED will be returned.
|
||||
|
Loading…
Reference in New Issue
Block a user