GDB (xrefs)
Defines | Functions | Variables
/home/stan/gdb/src/gdb/common/filestuff.c File Reference
#include "defs.h"
#include "gdb_string.h"
#include "filestuff.h"
#include "gdb_vecs.h"
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include "gdb_stat.h"
#include "gdb_dirent.h"

Go to the source code of this file.

Defines

#define O_CLOEXEC   0
#define SOCK_CLOEXEC   0

Functions

static int fdwalk (int(*func)(void *, int), void *arg)
static VEC (int)
void notice_open_fds (void)
void mark_fd_no_cloexec (int fd)
void unmark_fd_no_cloexec (int fd)
static int do_close (void *ignore, int fd)
void close_most_fds (void)
static void mark_cloexec (int fd)
static void maybe_mark_cloexec (int fd)
int gdb_open_cloexec (const char *filename, int flags, unsigned long mode)
FILE * gdb_fopen_cloexec (const char *filename, const char *opentype)
int gdb_pipe_cloexec (int filedes[2])

Variables

static int trust_o_cloexec

Define Documentation

#define O_CLOEXEC   0

Definition at line 50 of file filestuff.c.

Referenced by gdb_fopen_cloexec(), gdb_open_cloexec(), and gdb_pipe_cloexec().

#define SOCK_CLOEXEC   0

Definition at line 54 of file filestuff.c.


Function Documentation

void close_most_fds ( void  )

Definition at line 231 of file filestuff.c.

References do_close(), and fdwalk().

Referenced by fork_inferior(), pipe_open(), and shell_escape().

static int do_close ( void *  ignore,
int  fd 
) [static]

Definition at line 211 of file filestuff.c.

References VEC_iterate.

Referenced by close_most_fds().

static int fdwalk ( int(*)(void *, int func,
void *  arg 
) [static]

Definition at line 71 of file filestuff.c.

References dirent, func, and max.

Referenced by close_most_fds(), and notice_open_fds().

FILE* gdb_fopen_cloexec ( const char *  filename,
const char *  opentype 
)
int gdb_open_cloexec ( const char *  filename,
int  flags,
unsigned long  mode 
)
int gdb_pipe_cloexec ( int  filedes[2])

Definition at line 387 of file filestuff.c.

References _, gdb_assert_not_reached, mark_cloexec(), maybe_mark_cloexec(), and O_CLOEXEC.

Referenced by linux_async_pipe(), and tui_initialize_io().

static void mark_cloexec ( int  fd) [static]

Definition at line 251 of file filestuff.c.

Referenced by gdb_pipe_cloexec(), and maybe_mark_cloexec().

void mark_fd_no_cloexec ( int  fd)

Definition at line 183 of file filestuff.c.

Referenced by darwin_pre_ptrace().

static void maybe_mark_cloexec ( int  fd) [static]

Definition at line 274 of file filestuff.c.

References mark_cloexec().

Referenced by gdb_fopen_cloexec(), gdb_open_cloexec(), and gdb_pipe_cloexec().

void notice_open_fds ( void  )

Definition at line 175 of file filestuff.c.

References fdwalk().

Referenced by captured_main().

void unmark_fd_no_cloexec ( int  fd)

Definition at line 191 of file filestuff.c.

References _, gdb_assert_not_reached, VEC_iterate, and VEC_unordered_remove.

Referenced by darwin_ptrace_him().

static VEC ( int  ) [static]

Definition at line 160 of file filestuff.c.

References VEC_safe_push.


Variable Documentation

int trust_o_cloexec [static]

Definition at line 245 of file filestuff.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines