GDB (xrefs)
|
#include "common-defs.h"
#include "filestuff.h"
#include "gdb_vecs.h"
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/resource.h>
#include <dirent.h>
Go to the source code of this file.
Macros | |
#define | HAVE_F_GETFD F_GETFD |
#define | HAVE_SOCKETS 1 |
#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) |
static void | socket_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_socketpair_cloexec (int domain, int style, int protocol, int filedes[2]) |
int | gdb_socket_cloexec (int domain, int style, int protocol) |
int | gdb_pipe_cloexec (int filedes[2]) |
static void | do_close_cleanup (void *arg) |
struct cleanup * | make_cleanup_close (int fd) |
Variables | |
static int | trust_o_cloexec |
#define HAVE_F_GETFD F_GETFD |
Definition at line 34 of file filestuff.c.
#define HAVE_SOCKETS 1 |
Definition at line 35 of file filestuff.c.
#define O_CLOEXEC 0 |
Definition at line 43 of file filestuff.c.
Referenced by gdb_fopen_cloexec(), gdb_open_cloexec(), and gdb_pipe_cloexec().
#define SOCK_CLOEXEC 0 |
Definition at line 47 of file filestuff.c.
Referenced by gdb_socket_cloexec(), gdb_socketpair_cloexec(), and socket_mark_cloexec().
void close_most_fds | ( | void | ) |
Definition at line 224 of file filestuff.c.
References do_close(), and fdwalk().
Referenced by fork_inferior(), pipe_open(), and shell_escape().
|
static |
Definition at line 411 of file filestuff.c.
Referenced by make_cleanup_close().
Definition at line 64 of file filestuff.c.
Referenced by close_most_fds(), and notice_open_fds().
Definition at line 304 of file filestuff.c.
References maybe_mark_cloexec(), and O_CLOEXEC.
Referenced by auto_load_objfile_script_1(), command_from_pid(), commandline_from_pid(), compile_to_object(), fopen_with_cleanup(), gdb_fopen(), linux_common_core_of_thread(), linux_nat_thread_name(), linux_proc_get_int(), linux_proc_pending_signals(), linux_proc_pid_get_state(), linux_xfer_osdata_cpus(), linux_xfer_osdata_modules(), linux_xfer_osdata_msg(), linux_xfer_osdata_sem(), linux_xfer_osdata_shm(), print_sockets(), remote_file_get(), remote_file_put(), tfile_start(), write_psymtabs_to_index(), and xml_fetch_content_from_file().
Definition at line 291 of file filestuff.c.
References maybe_mark_cloexec(), and O_CLOEXEC.
Referenced by core_open(), find_and_open_source(), gdb_bfd_open(), hardwire_open(), inf_child_fileio_open(), linux_mntns_access_fs(), linux_mntns_open_cloexec(), linux_proc_xfer_partial(), linux_proc_xfer_spu(), mnsh_handle_open(), openp(), procfs_xfer_auxv(), remote_fileio_func_open(), solib_find_1(), and tfile_open().
Definition at line 381 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().
Definition at line 367 of file filestuff.c.
References SOCK_CLOEXEC, and socket_mark_cloexec().
Referenced by gdb_connect_sync_socket(), and net_open().
Definition at line 346 of file filestuff.c.
References _, gdb_assert_not_reached, SOCK_CLOEXEC, and socket_mark_cloexec().
Referenced by gdb_pipe(), linux_mntns_get_helper(), and pipe_open().
Definition at line 421 of file filestuff.c.
References do_close_cleanup(), make_cleanup_dtor(), xfree(), and xmalloc().
Referenced by forward_search_command(), get_filename_and_charpos(), iterate_over_mappings(), linux_mntns_access_fs(), procfs_open_1(), procfs_pidlist(), and reverse_search_command().
|
static |
Definition at line 244 of file filestuff.c.
Referenced by gdb_pipe_cloexec(), maybe_mark_cloexec(), and socket_mark_cloexec().
void mark_fd_no_cloexec | ( | int | fd | ) |
Definition at line 176 of file filestuff.c.
Referenced by darwin_pre_ptrace().
|
static |
Definition at line 267 of file filestuff.c.
References mark_cloexec().
Referenced by gdb_fopen_cloexec(), gdb_open_cloexec(), and gdb_pipe_cloexec().
void notice_open_fds | ( | void | ) |
|
static |
Definition at line 278 of file filestuff.c.
References mark_cloexec(), and SOCK_CLOEXEC.
Referenced by gdb_socket_cloexec(), and gdb_socketpair_cloexec().
void unmark_fd_no_cloexec | ( | int | fd | ) |
Definition at line 184 of file filestuff.c.
References _, gdb_assert_not_reached, VEC_iterate, and VEC_unordered_remove.
Referenced by darwin_ptrace_him().
|
static |
Definition at line 153 of file filestuff.c.
References VEC_safe_push.
|
static |
Definition at line 238 of file filestuff.c.