GDBserver
Classes | Macros | Typedefs | Functions | Variables
event-loop.c File Reference
#include "server.h"
#include "queue.h"
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>

Go to the source code of this file.

Classes

struct  gdb_event
 
struct  file_handler
 
struct  callback_event
 

Macros

#define GDB_READABLE   (1<<1)
 
#define GDB_WRITABLE   (1<<2)
 
#define GDB_EXCEPTION   (1<<3)
 

Typedefs

typedef struct gdb_event gdb_event
 
typedef int( event_handler_func) (gdb_fildes_t)
 
typedef struct gdb_eventgdb_event_p
 
typedef struct file_handler file_handler
 

Functions

 DECLARE_QUEUE_P (gdb_event_p)
 
static QUEUE (gdb_event_p)
 
static void gdb_event_xfree (struct gdb_event *event)
 
void initialize_event_loop (void)
 
static int process_event (void)
 
int append_callback_event (callback_handler_func *proc, gdb_client_data data)
 
void delete_callback_event (int id)
 
static int process_callback (void)
 
static void create_file_handler (gdb_fildes_t fd, int mask, handler_func *proc, gdb_client_data client_data)
 
void add_file_handler (gdb_fildes_t fd, handler_func *proc, gdb_client_data client_data)
 
void delete_file_handler (gdb_fildes_t fd)
 
static int handle_file_event (gdb_fildes_t event_file_desc)
 
static gdb_eventcreate_file_event (gdb_fildes_t fd)
 
static int wait_for_event (void)
 
void start_event_loop (void)
 

Variables

 gdb_notifier
 
struct {
   struct callback_event *   first
 
   struct callback_event *   last
 
   int   num_callbacks
 
callback_list
 

Macro Definition Documentation

#define GDB_EXCEPTION   (1<<3)
#define GDB_READABLE   (1<<1)
#define GDB_WRITABLE   (1<<2)

Definition at line 40 of file event-loop.c.

Referenced by create_file_handler(), delete_file_handler(), and wait_for_event().

Typedef Documentation

typedef int( event_handler_func) (gdb_fildes_t)

Definition at line 35 of file event-loop.c.

typedef struct file_handler file_handler
typedef struct gdb_event gdb_event

Definition at line 34 of file event-loop.c.

typedef struct gdb_event * gdb_event_p

Function Documentation

void add_file_handler ( gdb_fildes_t  fd,
handler_func proc,
gdb_client_data  client_data 
)

Definition at line 325 of file event-loop.c.

References create_file_handler(), GDB_EXCEPTION, and GDB_READABLE.

Referenced by handle_accept_event(), linux_async(), and remote_open().

int append_callback_event ( callback_handler_func proc,
gdb_client_data  data 
)
static gdb_event* create_file_event ( gdb_fildes_t  fd)
static

Definition at line 446 of file event-loop.c.

References gdb_event::fd, handle_file_event(), gdb_event::proc, and xmalloc().

Referenced by wait_for_event().

static void create_file_handler ( gdb_fildes_t  fd,
int  mask,
handler_func proc,
gdb_client_data  client_data 
)
static
DECLARE_QUEUE_P ( gdb_event_p  )
void delete_callback_event ( int  id)

Definition at line 219 of file event-loop.c.

References callback_list, callback_event::id, and callback_event::next.

Referenced by reset_readchar().

void delete_file_handler ( gdb_fildes_t  fd)
static void gdb_event_xfree ( struct gdb_event event)
static

Definition at line 152 of file event-loop.c.

References xfree().

Referenced by initialize_event_loop(), and process_event().

static int handle_file_event ( gdb_fildes_t  event_file_desc)
static
void initialize_event_loop ( void  )

Definition at line 158 of file event-loop.c.

References gdb_event_xfree(), and QUEUE_alloc.

Referenced by captured_main().

static int process_callback ( void  )
static
static int process_event ( void  )
static
static QUEUE ( gdb_event_p  )
static

Definition at line 93 of file event-loop.c.

void start_event_loop ( void  )

Definition at line 537 of file event-loop.c.

References process_callback(), process_event(), and wait_for_event().

Referenced by captured_main().

static int wait_for_event ( void  )
static

Variable Documentation

struct { ... } callback_list
struct callback_event* first

Definition at line 141 of file event-loop.c.

gdb_notifier
struct callback_event* last

Definition at line 142 of file event-loop.c.

Referenced by cmd_qtdpsrc().

int num_callbacks

Definition at line 145 of file event-loop.c.