CUBRID Engine  latest
fault_injection.c File Reference
#include "fault_injection.h"
#include "porting.h"
#include "system_parameter.h"
#include <assert.h>
Include dependency graph for fault_injection.c:

Go to the source code of this file.

Functions

static int fi_handler_exit (THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
 
static int fi_handler_random_exit (THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
 
static int fi_handler_random_fail (THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
 
static int fi_handler_hang (THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
 
static FI_TEST_ITEMfi_code_item (THREAD_ENTRY *thread_p, FI_TEST_CODE code)
 
int fi_thread_init (THREAD_ENTRY *thread_p)
 
int fi_thread_final (THREAD_ENTRY *thread_p)
 
int fi_set (THREAD_ENTRY *thread_p, FI_TEST_CODE code, int state)
 
int fi_set_force (THREAD_ENTRY *thread_p, FI_TEST_CODE code, int state)
 
void fi_reset (THREAD_ENTRY *thread_p, FI_TEST_CODE code)
 
int fi_test (THREAD_ENTRY *thread_p, FI_TEST_CODE code, void *arg, int state, const char *caller_file, const int caller_line)
 
int fi_state (THREAD_ENTRY *thread_p, FI_TEST_CODE code)
 
bool fi_test_on (FI_TEST_CODE code)
 

Variables

FI_TEST_ITEM fi_Test_array []
 
FI_TEST_CODE fi_Group_none []
 
FI_TEST_CODE fi_Group_recovery []
 
FI_TEST_CODEfi_Groups [FI_GROUP_MAX+1]
 

Function Documentation

static FI_TEST_ITEM * fi_code_item ( THREAD_ENTRY thread_p,
FI_TEST_CODE  code 
)
static

Definition at line 178 of file fault_injection.c.

References assert, fi_Test_array, i, NULL, and thread_get_thread_entry_info().

Referenced by fi_reset(), fi_set(), fi_set_force(), fi_state(), and fi_test().

Here is the caller graph for this function:

static int fi_handler_exit ( THREAD_ENTRY thread_p,
void *  arg,
const char *  caller_file,
const int  caller_line 
)
static

Definition at line 375 of file fault_injection.c.

References NO_ERROR.

static int fi_handler_hang ( THREAD_ENTRY thread_p,
void *  arg,
const char *  caller_file,
const int  caller_line 
)
static

Definition at line 390 of file fault_injection.c.

References NO_ERROR.

static int fi_handler_random_exit ( THREAD_ENTRY thread_p,
void *  arg,
const char *  caller_file,
const int  caller_line 
)
static
static int fi_handler_random_fail ( THREAD_ENTRY thread_p,
void *  arg,
const char *  caller_file,
const int  caller_line 
)
static
void fi_reset ( THREAD_ENTRY thread_p,
FI_TEST_CODE  code 
)

Definition at line 287 of file fault_injection.c.

References fi_code_item(), FI_INIT_STATE, NULL, and fi_test_item::state.

int fi_set ( THREAD_ENTRY thread_p,
FI_TEST_CODE  code,
int  state 
)
int fi_set_force ( THREAD_ENTRY thread_p,
FI_TEST_CODE  code,
int  state 
)
int fi_test ( THREAD_ENTRY thread_p,
FI_TEST_CODE  code,
void *  arg,
int  state,
const char *  caller_file,
const int  caller_line 
)
bool fi_test_on ( FI_TEST_CODE  code)
int fi_thread_final ( THREAD_ENTRY thread_p)

Definition at line 146 of file fault_injection.c.

References assert, ER_FAILED, free_and_init, NO_ERROR, NULL, and thread_get_thread_entry_info().

Referenced by cubthread::entry::clear_resources().

Here is the caller graph for this function:

int fi_thread_init ( THREAD_ENTRY thread_p)

Variable Documentation

FI_TEST_CODE fi_Group_none[]
Initial value:

Definition at line 69 of file fault_injection.c.

FI_TEST_CODE* fi_Groups[FI_GROUP_MAX+1]
Initial value:
= {
}
FI_TEST_CODE fi_Group_recovery[]
FI_TEST_CODE fi_Group_none[]

Definition at line 81 of file fault_injection.c.

Referenced by sysprm_final().

FI_TEST_ITEM fi_Test_array[]
Initial value:
= {
}
static int fi_handler_random_exit(THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
static int fi_handler_exit(THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
static int fi_handler_hang(THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)
#define FI_INIT_STATE
static int fi_handler_random_fail(THREAD_ENTRY *thread_p, void *arg, const char *caller_file, const int caller_line)

Definition at line 55 of file fault_injection.c.

Referenced by fi_code_item(), and fi_thread_init().