GDBserver
Classes | Macros | Functions | Variables
cleanups.c File Reference
#include "common-defs.h"
#include "cleanups.h"

Go to the source code of this file.

Classes

struct  cleanup
 

Macros

#define SENTINEL_CLEANUP   ((struct cleanup *) &sentinel_cleanup)
 

Functions

static struct cleanupmake_my_cleanup2 (struct cleanup **pmy_chain, make_cleanup_ftype *function, void *arg, void(*free_arg)(void *))
 
static struct cleanupmake_my_cleanup (struct cleanup **pmy_chain, make_cleanup_ftype *function, void *arg)
 
struct cleanupmake_cleanup (make_cleanup_ftype *function, void *arg)
 
struct cleanupmake_cleanup_dtor (make_cleanup_ftype *function, void *arg, make_cleanup_dtor_ftype *dtor)
 
struct cleanupmake_final_cleanup (make_cleanup_ftype *function, void *arg)
 
static void do_my_cleanups (struct cleanup **pmy_chain, struct cleanup *old_chain)
 
struct cleanupall_cleanups (void)
 
void do_cleanups (struct cleanup *old_chain)
 
void do_final_cleanups (struct cleanup *old_chain)
 
static void discard_my_cleanups (struct cleanup **pmy_chain, struct cleanup *old_chain)
 
void discard_cleanups (struct cleanup *old_chain)
 
void discard_final_cleanups (struct cleanup *old_chain)
 
static struct cleanupsave_my_cleanups (struct cleanup **pmy_chain)
 
struct cleanupsave_cleanups (void)
 
struct cleanupsave_final_cleanups (void)
 
static void restore_my_cleanups (struct cleanup **pmy_chain, struct cleanup *chain)
 
void restore_cleanups (struct cleanup *chain)
 
void restore_final_cleanups (struct cleanup *chain)
 
void null_cleanup (void *arg)
 

Variables

static const struct cleanup sentinel_cleanup = { 0, 0, 0, 0 }
 
static struct cleanupcleanup_chain = SENTINEL_CLEANUP
 
static struct cleanupfinal_cleanup_chain = SENTINEL_CLEANUP
 

Macro Definition Documentation

#define SENTINEL_CLEANUP   ((struct cleanup *) &sentinel_cleanup)

Definition at line 59 of file cleanups.c.

Referenced by all_cleanups(), restore_my_cleanups(), and save_my_cleanups().

Function Documentation

struct cleanup* all_cleanups ( void  )

Definition at line 166 of file cleanups.c.

References SENTINEL_CLEANUP.

Referenced by throw_exception().

void discard_cleanups ( struct cleanup old_chain)

Definition at line 213 of file cleanups.c.

References discard_my_cleanups().

void discard_final_cleanups ( struct cleanup old_chain)

Definition at line 222 of file cleanups.c.

References discard_my_cleanups().

static void discard_my_cleanups ( struct cleanup **  pmy_chain,
struct cleanup old_chain 
)
static

Definition at line 195 of file cleanups.c.

References cleanup::arg, cleanup::free_arg, cleanup::next, and xfree().

Referenced by discard_cleanups(), and discard_final_cleanups().

void do_cleanups ( struct cleanup old_chain)

Definition at line 175 of file cleanups.c.

References do_my_cleanups().

Referenced by linux_create_inferior(), linux_mntns_access_fs(), and throw_exception().

void do_final_cleanups ( struct cleanup old_chain)

Definition at line 184 of file cleanups.c.

References do_my_cleanups().

static void do_my_cleanups ( struct cleanup **  pmy_chain,
struct cleanup old_chain 
)
static

Definition at line 147 of file cleanups.c.

References cleanup::arg, cleanup::free_arg, cleanup::function, cleanup::next, and xfree().

Referenced by do_cleanups(), and do_final_cleanups().

struct cleanup* make_cleanup ( make_cleanup_ftype function,
void *  arg 
)

Definition at line 117 of file cleanups.c.

References make_my_cleanup().

Referenced by captured_main(), linux_mntns_access_fs(), and make_disable_asr_cleanup().

struct cleanup* make_cleanup_dtor ( make_cleanup_ftype function,
void *  arg,
make_cleanup_dtor_ftype dtor 
)

Definition at line 126 of file cleanups.c.

References make_my_cleanup2().

Referenced by make_cleanup_close().

struct cleanup* make_final_cleanup ( make_cleanup_ftype function,
void *  arg 
)

Definition at line 136 of file cleanups.c.

References make_my_cleanup().

static struct cleanup* make_my_cleanup ( struct cleanup **  pmy_chain,
make_cleanup_ftype function,
void *  arg 
)
static

Definition at line 105 of file cleanups.c.

References make_my_cleanup2().

Referenced by make_cleanup(), and make_final_cleanup().

static struct cleanup* make_my_cleanup2 ( struct cleanup **  pmy_chain,
make_cleanup_ftype function,
void *  arg,
void(*)(void *)  free_arg 
)
static
void null_cleanup ( void *  arg)

Definition at line 295 of file cleanups.c.

Referenced by linux_mntns_access_fs(), and make_disable_asr_cleanup().

void restore_cleanups ( struct cleanup chain)

Definition at line 274 of file cleanups.c.

References restore_my_cleanups().

Referenced by catcher_pop().

void restore_final_cleanups ( struct cleanup chain)

Definition at line 282 of file cleanups.c.

References restore_my_cleanups().

static void restore_my_cleanups ( struct cleanup **  pmy_chain,
struct cleanup chain 
)
static

Definition at line 262 of file cleanups.c.

References _, internal_warning(), and SENTINEL_CLEANUP.

Referenced by restore_cleanups(), and restore_final_cleanups().

struct cleanup* save_cleanups ( void  )

Definition at line 243 of file cleanups.c.

References save_my_cleanups().

Referenced by exceptions_state_mc_init().

struct cleanup* save_final_cleanups ( void  )

Definition at line 252 of file cleanups.c.

References save_my_cleanups().

static struct cleanup* save_my_cleanups ( struct cleanup **  pmy_chain)
static

Definition at line 232 of file cleanups.c.

References SENTINEL_CLEANUP.

Referenced by save_cleanups(), and save_final_cleanups().

Variable Documentation

struct cleanup* cleanup_chain = SENTINEL_CLEANUP
static

Definition at line 63 of file cleanups.c.

struct cleanup* final_cleanup_chain = SENTINEL_CLEANUP
static

Definition at line 67 of file cleanups.c.

const struct cleanup sentinel_cleanup = { 0, 0, 0, 0 }
static

Definition at line 56 of file cleanups.c.