diff options
| author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2015-10-01 16:28:58 -0400 | 
|---|---|---|
| committer | Jeff Darcy <jdarcy@redhat.com> | 2015-11-16 06:18:10 -0800 | 
| commit | 2099cc875a4d20ab1bb12b1c33da16c95968e202 (patch) | |
| tree | 78b611ee025511a06f28e8d5e63453f1dc5d8f1d /libglusterfs/src/run.c | |
| parent | 3f0c70f2d56743707699f6a5b62a1c2c2d5c6f85 (diff) | |
core: use syscall wrappers instead of direct syscalls - libglusterfs
various xlators and other components are invoking system calls
directly instead of using the libglusterfs/syscall.[ch] wrappers.
If not using the system call wrappers there should be a comment
in the source explaining why the wrapper isn't used.
Change-Id: Ieeca2d36adbc884e4cfa0026dba40df70310d40b
BUG: 1267967
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/12275
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'libglusterfs/src/run.c')
| -rw-r--r-- | libglusterfs/src/run.c | 35 | 
1 files changed, 18 insertions, 17 deletions
diff --git a/libglusterfs/src/run.c b/libglusterfs/src/run.c index 6018a58ad5f..cb709546637 100644 --- a/libglusterfs/src/run.c +++ b/libglusterfs/src/run.c @@ -24,6 +24,7 @@  #include <signal.h>  #include <sys/wait.h>  #include <sys/resource.h> +#include "syscall.h"  #ifdef RUN_STANDALONE  #define GF_CALLOC(n, s, t) calloc(n, s) @@ -241,18 +242,18 @@ runner_start (runner_t *runner)          switch (runner->chpid) {          case -1:                  errno_priv = errno; -                close (xpi[0]); -                close (xpi[1]); +                sys_close (xpi[0]); +                sys_close (xpi[1]);                  for (i = 0; i < 3; i++) { -                        close (pi[i][0]); -                        close (pi[i][1]); +                        sys_close (pi[i][0]); +                        sys_close (pi[i][1]);                  }                  errno = errno_priv;                  return -1;          case 0:                  for (i = 0; i < 3; i++) -                        close (pi[i][i ? 0 : 1]); -                close (xpi[0]); +                        sys_close (pi[i][i ? 0 : 1]); +                sys_close (xpi[0]);                  ret = 0;                  for (i = 0; i < 3; i++) { @@ -278,15 +279,15 @@ runner_start (runner_t *runner)                          struct dirent *de = NULL;                          char *e = NULL; -                        d = opendir ("/proc/self/fd"); +                        d = sys_opendir ("/proc/self/fd");                          if (d) { -                                while ((de = readdir (d))) { +                                while ((de = sys_readdir (d))) {                                          i = strtoul (de->d_name, &e, 10);                                          if (*e == '\0' && i > 2 &&                                              i != dirfd (d) && i != xpi[1]) -                                                close (i); +                                                sys_close (i);                                  } -                                closedir (d); +                                sys_closedir (d);                          } else                                  ret = -1;  #else /* !GF_LINUX_HOST_OS */ @@ -296,7 +297,7 @@ runner_start (runner_t *runner)                          for (i = 3; i < rl.rlim_cur; i++) {                                  if (i != xpi[1]) -                                        close (i); +                                        sys_close (i);                          }  #endif /* !GF_LINUX_HOST_OS */                  } @@ -308,14 +309,14 @@ runner_start (runner_t *runner)                          execvp (runner->argv[0], runner->argv);                  } -                ret = write (xpi[1], &errno, sizeof (errno)); +                ret = sys_write (xpi[1], &errno, sizeof (errno));                  _exit (1);          }          errno_priv = errno;          for (i = 0; i < 3; i++) -                close (pi[i][i ? 1 : 0]); -        close (xpi[1]); +                sys_close (pi[i][i ? 1 : 0]); +        sys_close (xpi[1]);          if (ret == -1) {                  for (i = 0; i < 3; i++) {                          if (runner->chio[i]) { @@ -324,8 +325,8 @@ runner_start (runner_t *runner)                          }                  }          } else { -                ret = read (xpi[0], (char *)&errno_priv, sizeof (errno_priv)); -                close (xpi[0]); +                ret = sys_read (xpi[0], (char *)&errno_priv, sizeof (errno_priv)); +                sys_close (xpi[0]);                  if (ret <= 0)                          return 0;                  GF_ASSERT (ret == sizeof (errno_priv)); @@ -371,7 +372,7 @@ runner_end (runner_t *runner)                  GF_FREE (runner->argv);          }          for (i = 0; i < 3; i++) -                close (runner->chfd[i]); +                sys_close (runner->chfd[i]);          return ret;  }  | 
