mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 22:46:15 +01:00
Switch all open() calls to use g_open()
Because it now handles EINTR. And we should do so. While most people use Linux, which tries very hard to avoid propagating EINTR back up into userspace, it can still happen. https://bugzilla.gnome.org/show_bug.cgi?id=682833
This commit is contained in:
parent
2542b6f604
commit
6e64ba58b9
@ -2017,7 +2017,7 @@ g_local_file_trash (GFile *file,
|
|||||||
infofile = g_build_filename (infodir, infoname, NULL);
|
infofile = g_build_filename (infodir, infoname, NULL);
|
||||||
g_free (infoname);
|
g_free (infoname);
|
||||||
|
|
||||||
fd = open (infofile, O_CREAT | O_EXCL, 0666);
|
fd = g_open (infofile, O_CREAT | O_EXCL, 0666);
|
||||||
} while (fd == -1 && errno == EEXIST);
|
} while (fd == -1 && errno == EEXIST);
|
||||||
|
|
||||||
g_free (basename);
|
g_free (basename);
|
||||||
|
@ -1247,10 +1247,10 @@ get_content_type (const char *basename,
|
|||||||
sniff_length = 4096;
|
sniff_length = 4096;
|
||||||
|
|
||||||
#ifdef O_NOATIME
|
#ifdef O_NOATIME
|
||||||
fd = open (path, O_RDONLY | O_NOATIME);
|
fd = g_open (path, O_RDONLY | O_NOATIME, 0);
|
||||||
if (fd < 0 && errno == EPERM)
|
if (fd < 0 && errno == EPERM)
|
||||||
#endif
|
#endif
|
||||||
fd = open (path, O_RDONLY);
|
fd = g_open (path, O_RDONLY, 0);
|
||||||
|
|
||||||
if (fd != -1)
|
if (fd != -1)
|
||||||
{
|
{
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
|
#include <glib/gstdio.h>
|
||||||
#include <gi18n.h>
|
#include <gi18n.h>
|
||||||
|
|
||||||
/* GResource functions {{{1 */
|
/* GResource functions {{{1 */
|
||||||
@ -142,7 +143,7 @@ get_elf (const gchar *file,
|
|||||||
if (elf_version (EV_CURRENT) == EV_NONE )
|
if (elf_version (EV_CURRENT) == EV_NONE )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
*fd = open (file, O_RDONLY);
|
*fd = g_open (file, O_RDONLY, 0);
|
||||||
if (*fd < 0)
|
if (*fd < 0)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -178,7 +178,7 @@ test_interface_method_call (GDBusConnection *connection,
|
|||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
|
|
||||||
fd = open (path, O_RDONLY);
|
fd = g_open (path, O_RDONLY, 0);
|
||||||
g_unix_fd_list_append (fd_list, fd, &error);
|
g_unix_fd_list_append (fd_list, fd, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
close (fd);
|
close (fd);
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gio/gio.h>
|
#include <gio/gio.h>
|
||||||
|
#include <glib/gstdio.h>
|
||||||
|
|
||||||
#ifdef G_OS_UNIX
|
#ifdef G_OS_UNIX
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@ -154,7 +155,7 @@ test_pollable_unix (void)
|
|||||||
g_object_unref (out);
|
g_object_unref (out);
|
||||||
|
|
||||||
/* Non-pipe/socket unix streams are not pollable */
|
/* Non-pipe/socket unix streams are not pollable */
|
||||||
fd = open ("/dev/null", O_RDWR);
|
fd = g_open ("/dev/null", O_RDWR, 0);
|
||||||
g_assert_cmpint (fd, !=, -1);
|
g_assert_cmpint (fd, !=, -1);
|
||||||
in = G_POLLABLE_INPUT_STREAM (g_unix_input_stream_new (fd, FALSE));
|
in = G_POLLABLE_INPUT_STREAM (g_unix_input_stream_new (fd, FALSE));
|
||||||
out = g_unix_output_stream_new (fd, FALSE);
|
out = g_unix_output_stream_new (fd, FALSE);
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <glib/gstdio.h>
|
||||||
|
|
||||||
#include "giochannel.h"
|
#include "giochannel.h"
|
||||||
|
|
||||||
@ -525,12 +526,7 @@ g_io_channel_new_file (const gchar *filename,
|
|||||||
|
|
||||||
create_mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
|
create_mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
|
||||||
|
|
||||||
do
|
fid = g_open (filename, flags, create_mode);
|
||||||
{
|
|
||||||
fid = open (filename, flags, create_mode);
|
|
||||||
}
|
|
||||||
while (fid == -1 && errno == EINTR);
|
|
||||||
|
|
||||||
if (fid == -1)
|
if (fid == -1)
|
||||||
{
|
{
|
||||||
int err = errno;
|
int err = errno;
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <glib/gstdio.h>
|
||||||
#endif
|
#endif
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -2177,7 +2178,7 @@ g_test_trap_fork (guint64 usec_timeout,
|
|||||||
close (stderr_pipe[0]);
|
close (stderr_pipe[0]);
|
||||||
close (stdtst_pipe[0]);
|
close (stdtst_pipe[0]);
|
||||||
if (!(test_trap_flags & G_TEST_TRAP_INHERIT_STDIN))
|
if (!(test_trap_flags & G_TEST_TRAP_INHERIT_STDIN))
|
||||||
fd0 = open ("/dev/null", O_RDONLY);
|
fd0 = g_open ("/dev/null", O_RDONLY, 0);
|
||||||
if (sane_dup2 (stdout_pipe[1], 1) < 0 || sane_dup2 (stderr_pipe[1], 2) < 0 || (fd0 >= 0 && sane_dup2 (fd0, 0) < 0))
|
if (sane_dup2 (stdout_pipe[1], 1) < 0 || sane_dup2 (stderr_pipe[1], 2) < 0 || (fd0 >= 0 && sane_dup2 (fd0, 0) < 0))
|
||||||
g_error ("failed to dup2() in forked test program: %s", g_strerror (errno));
|
g_error ("failed to dup2() in forked test program: %s", g_strerror (errno));
|
||||||
if (fd0 >= 3)
|
if (fd0 >= 3)
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#ifdef HAVE_UNISTD_H
|
#ifdef HAVE_UNISTD_H
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include <glib/gstdio.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@ -120,7 +121,7 @@ test_writable_fd (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
fd = open (SRCDIR "/4096-random-bytes", O_RDWR, 0);
|
fd = g_open (SRCDIR "/4096-random-bytes", O_RDWR, 0);
|
||||||
g_assert (fd != -1);
|
g_assert (fd != -1);
|
||||||
file = g_mapped_file_new_from_fd (fd, TRUE, &error);
|
file = g_mapped_file_new_from_fd (fd, TRUE, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
@ -135,7 +136,7 @@ test_writable_fd (void)
|
|||||||
close (fd);
|
close (fd);
|
||||||
|
|
||||||
error = NULL;
|
error = NULL;
|
||||||
fd = open (SRCDIR "/4096-random-bytes", O_RDWR, 0);
|
fd = g_open (SRCDIR "/4096-random-bytes", O_RDWR, 0);
|
||||||
g_assert (fd != -1);
|
g_assert (fd != -1);
|
||||||
file = g_mapped_file_new_from_fd (fd, TRUE, &error);
|
file = g_mapped_file_new_from_fd (fd, TRUE, &error);
|
||||||
g_assert_no_error (error);
|
g_assert_no_error (error);
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
#include <glib/gstdio.h>
|
||||||
|
|
||||||
#undef G_LOG_DOMAIN
|
#undef G_LOG_DOMAIN
|
||||||
#define G_LOG_DOMAIN "GLib-Genmarshal"
|
#define G_LOG_DOMAIN "GLib-Genmarshal"
|
||||||
@ -848,7 +849,7 @@ main (int argc,
|
|||||||
/* Mostly for Win32. This is equivalent to opening /dev/stdin */
|
/* Mostly for Win32. This is equivalent to opening /dev/stdin */
|
||||||
fd = dup (0);
|
fd = dup (0);
|
||||||
else
|
else
|
||||||
fd = open (file, O_RDONLY);
|
fd = g_open (file, O_RDONLY, 0);
|
||||||
|
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user