]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
Use O_CLOEXEC where adequate, simplify its use.
authorCristian Rodríguez <crrodriguez@opensuse.org>
Tue, 6 Nov 2012 02:07:46 +0000 (23:07 -0300)
committerRay Strode <rstrode@redhat.com>
Wed, 7 Nov 2012 19:35:30 +0000 (14:35 -0500)
20 files changed:
configure.ac
src/libply-splash-core/ply-text-progress-bar.c
src/libply-splash-graphics/ply-image.c
src/libply/ply-event-loop.c
src/libply/ply-key-file.c
src/libply/ply-logger.c
src/libply/ply-progress.c
src/libply/ply-utils.c
src/plugins/splash/script/script-debug.c
src/plugins/splash/script/script-execute.c
src/plugins/splash/script/script-lib-image.c
src/plugins/splash/script/script-lib-math.c
src/plugins/splash/script/script-lib-plymouth.c
src/plugins/splash/script/script-lib-string.c
src/plugins/splash/script/script-object.c
src/plugins/splash/script/script-parse.c
src/plugins/splash/script/script-scan.c
src/plugins/splash/script/script.c
src/ply-boot-server.c
src/viewer/plymouth-log-viewer.c

index 2ab0893b15bba7dd1704906852f43d5fe99b86ad..c20974e2061da0b230d8fe2cd5d788d260457d3c 100644 (file)
@@ -6,7 +6,7 @@ AC_CONFIG_AUX_DIR(build-tools)
 AC_USE_SYSTEM_EXTENSIONS
 AC_SYS_LARGEFILE
 AC_PROG_AWK
-AC_PROG_CC
+AC_PROG_CC_STDC
 AM_PROG_CC_C_O
 AC_HEADER_STDC
 AC_C_CONST
@@ -16,7 +16,7 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AM_MAINTAINER_MODE([enable])
 
 PKG_PROG_PKG_CONFIG
-LT_INIT
+LT_INIT([dlopen disable-static pic-only])
 
 ## increment if the interface has additions, changes, removals.
 LT_CURRENT=3
index bf4b37810a94bff8d25e68a1cbbd58ca12156657..ea92d49fa2bbdcc84ea3310212d1873652bfeb2b 100644 (file)
@@ -104,7 +104,7 @@ get_os_string (void)
 
   buf = NULL;
 
-  fd = open (RELEASE_FILE, O_RDONLY);
+  fd = open (RELEASE_FILE, O_RDONLY|O_CLOEXEC);
   if (fd == -1)
     goto out;
 
index 3e09f68cbc53e9981a4686838f2e822eced86e80..be858095690a8d66b277219f328b52789ddd2107 100644 (file)
@@ -123,7 +123,7 @@ ply_image_load (ply_image_t *image)
   
   assert (image != NULL);
   
-  fp = fopen (image->filename, "r");
+  fp = fopen (image->filename, "re");
   if (fp == NULL)
     return false;
   
index 3cfad76420505608a9eca3658e63a9b888b487a2..4abf25fc4fd45353707e9b4545f574c500b4435a 100644 (file)
@@ -491,7 +491,7 @@ ply_event_loop_new (void)
 
   loop = calloc (1, sizeof (ply_event_loop_t));
 
-  loop->epoll_fd = epoll_create (PLY_EVENT_LOOP_NUM_EVENT_HANDLERS);
+  loop->epoll_fd =  epoll_create1(EPOLL_CLOEXEC);
   loop->wakeup_time = PLY_EVENT_LOOP_NO_TIMED_WAKEUP;
 
   assert (loop->epoll_fd >= 0);
index a3d5a11c5b319e0bb695023defddc06097dc4ed3..72264e154f68a4d88a57b256f6637986e04ccde3 100644 (file)
@@ -75,7 +75,7 @@ ply_key_file_open_file (ply_key_file_t *key_file)
 {
   assert (key_file != NULL);
 
-  key_file->fp = fopen (key_file->filename, "r");
+  key_file->fp = fopen (key_file->filename, "re");
 
   if (key_file->fp == NULL)
     {
index f51bb8471db3069b9a2628ec29b5344450b53cfa..5ea0b5eb56247c7cad8442208d9e1edf5c694cef 100644 (file)
@@ -40,7 +40,7 @@
 #include "ply-list.h"
 
 #ifndef PLY_LOGGER_OPEN_FLAGS
-#define PLY_LOGGER_OPEN_FLAGS (O_WRONLY | O_TRUNC | O_CREAT | O_NOFOLLOW)
+#define PLY_LOGGER_OPEN_FLAGS (O_WRONLY | O_TRUNC | O_CREAT | O_NOFOLLOW | O_CLOEXEC)
 #endif
 
 #ifndef PLY_LOGGER_MAX_INJECTION_SIZE
index 2091a27e52741759e9b824b2c1ea39120e8a96b2..cf372cdd7948bbf8dae06e94146b7cda49bced8d 100644 (file)
  *             Charlie Brej <cbrej@cs.man.ac.uk>
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <assert.h>
 #include <errno.h>
 #include <math.h>
index 60d59d16e17457b5c6cd0da04adc084e3fab0bcd..5a79bb4dec0be75acc4bededf1c3f7f537188217 100644 (file)
@@ -87,27 +87,9 @@ ply_open_unidirectional_pipe (int *sender_fd,
   assert (sender_fd != NULL);
   assert (receiver_fd != NULL);
 
-  if (pipe (pipe_fds) < 0)
+  if (pipe2 (pipe_fds, O_CLOEXEC | O_NONBLOCK) < 0)
     return false;
 
-  if (fcntl (pipe_fds[0], F_SETFD, O_NONBLOCK | FD_CLOEXEC) < 0)
-    {
-      ply_save_errno ();
-      close (pipe_fds[0]);
-      close (pipe_fds[1]);
-      ply_restore_errno ();
-      return false;
-    }
-
-  if (fcntl (pipe_fds[1], F_SETFD, O_NONBLOCK | FD_CLOEXEC) < 0)
-    {
-      ply_save_errno ();
-      close (pipe_fds[0]);
-      close (pipe_fds[1]);
-      ply_restore_errno ();
-      return false;
-    }
-
   *sender_fd = pipe_fds[1];
   *receiver_fd = pipe_fds[0];
 
@@ -120,20 +102,11 @@ ply_open_unix_socket (void)
   int fd;
   const int should_pass_credentials = true;
 
-  fd = socket (PF_UNIX, SOCK_STREAM, 0);
+  fd = socket (PF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
 
   if (fd < 0)
     return -1;
 
-  if (fcntl (fd, F_SETFD, O_NONBLOCK | FD_CLOEXEC) < 0)
-    {
-      ply_save_errno ();
-      close (fd);
-      ply_restore_errno ();
-
-      return -1;
-    }
-
   if (setsockopt (fd, SOL_SOCKET, SO_PASSCRED,
                   &should_pass_credentials, sizeof (should_pass_credentials)) < 0)
     {
@@ -971,7 +944,7 @@ ply_get_process_parent_pid (pid_t pid)
   asprintf (&path, "/proc/%ld/stat", (long) pid);
 
   ppid = 0;
-  fp = fopen (path, "r");
+  fp = fopen (path, "re");
 
   if (fp == NULL)
     {
index 355c2b2aab60c677a32eaf284e7d869af6f2fd55..118574b0c43320e3e6ff74f30d7bbe59e0c3220e 100644 (file)
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "ply-hashtable.h"
 #include <stdlib.h>
 #include <string.h>
index 6abd3a68ddaabe70ad45e53bc6f8d51fb930e7a3..c06959bb38d1f7480874f6569c69980fc8cce7fc 100644 (file)
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "ply-hashtable.h"
 #include "ply-list.h"
 #include "ply-logger.h"
index 5be27fbedde4509f994c5492b13f4ba6cd602f60..f08be313ad704e50003a524a95eb7d4b543661dc 100644 (file)
@@ -19,7 +19,9 @@
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#include "config.h"
+
 #include "ply-image.h"
 #include "ply-label.h"
 #include "ply-pixel-buffer.h"
@@ -36,8 +38,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "config.h"
-
 #include "script-lib-image.script.h"
 
 static void image_free (script_obj_t *obj)
index a1afc041b5eb0a8b4a0b17e38ad49953c03d5bb0..1a07b0482c9d613a25861265bd409a51afd24eea 100644 (file)
@@ -19,7 +19,9 @@
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#include "config.h"
+
 #include "script.h"
 #include "script-parse.h"
 #include "script-execute.h"
@@ -31,7 +33,6 @@
 #include <string.h>
 #include <math.h>
 
-#include "config.h"
 
 #include "script-lib-math.script.h"
 
index 5c648a6fca573ac25936053aebe2deebae0b2f07..7f143aed7bad1f8368e71e78b303fc158b3004fb 100644 (file)
@@ -19,7 +19,9 @@
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#include "config.h"
+
 #include "ply-boot-splash-plugin.h"
 #include "ply-utils.h"
 #include "script.h"
@@ -32,8 +34,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "config.h"
-
 #include "script-lib-plymouth.script.h"
 
 static script_return_t plymouth_set_function (script_state_t *state,
index dbd63fe7b18d640cacb10ed06d7a6e8d9302c4e5..0b836ebde3bcdc2ad960209f6237570f2597f668 100644 (file)
@@ -19,7 +19,9 @@
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#include "config.h"
+
 #include "script.h"
 #include "script-parse.h"
 #include "script-execute.h"
@@ -31,8 +33,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-#include "config.h"
-
 #include "script-lib-string.script.h"
 
 
index 465fef626ec90dfc74226aa57624c2a01cd2f1e4..7c16c94d0f3e5f30b663179f94b0d5ec535a860b 100644 (file)
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "ply-hashtable.h"
 #include "ply-list.h"
 #include "ply-bitarray.h"
index 10eb667de85c6125dc7a2e55a7b544395e357f74..4adf2737f93cdbdca20f0b3ddb43eb1f0862ddf3 100644 (file)
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "ply-hashtable.h"
 #include "ply-list.h"
 #include "ply-bitarray.h"
index ead752f1453f9efa3d26ed04ebe5244332bd6abd..3efef48a17a0b86f1a8e933b2afc5ce74a7ac23f 100644 (file)
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <fcntl.h>
@@ -61,7 +65,7 @@ static script_scan_t *script_scan_new (void)
 
 script_scan_t *script_scan_file (const char *filename)
 {
-  int fd = open (filename, O_RDONLY);
+  int fd = open (filename, O_RDONLY|O_CLOEXEC);
   if (fd < 0) return NULL;
   script_scan_t *scan = script_scan_new ();
   scan->name = strdup (filename);
index 635a8b4a47df4d9373b43e145c3dee54edf461b5..3290825961392e65b423ad98d27510fcfdbac617 100644 (file)
  *
  * Written by: Charlie Brej <cbrej@cs.man.ac.uk>
  */
-#define _GNU_SOURCE
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include "ply-hashtable.h"
 #include "ply-list.h"
 #include "ply-bitarray.h"
index f15ade78332be8efe94835fd7dfbc5ade87abd2c..2d2a5b85f21ecf68d878cd47f284b43456e91f02 100644 (file)
@@ -776,7 +776,7 @@ ply_boot_server_on_new_connection (ply_boot_server_t *server)
 
   assert (server != NULL);
 
-  fd = accept (server->socket_fd, NULL, NULL);
+  fd = accept4 (server->socket_fd, NULL, NULL, SOCK_CLOEXEC);
 
   if (fd < 0)
     return;
index c20e391634b3944767f79934c32246719fbaf2a3..ca54e0f02e403a524aedf9e1bb926d3058658b49 100644 (file)
  *  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <stdlib.h>
 #include <string.h>
 #include <sys/types.h>