ondestroy.c File Reference

#include <config.h>
#include <stddef.h>
#include <isc/event.h>
#include <isc/magic.h>
#include <isc/ondestroy.h>
#include <isc/task.h>
#include <isc/util.h>

Go to the source code of this file.

Defines

#define ONDESTROY_MAGIC   ISC_MAGIC('D', 'e', 'S', 't')
#define VALID_ONDESTROY(s)   ISC_MAGIC_VALID(s, ONDESTROY_MAGIC)

Functions

void isc_ondestroy_init (isc_ondestroy_t *ondest)
 Initialize the on ondest structure. *must* be called before first call to isc_ondestroy_register().
isc_result_t isc_ondestroy_register (isc_ondestroy_t *ondest, isc_task_t *task, isc_event_t **eventp)
 Stores task and *eventp away inside *ondest. Ownership of **event is taken from the caller (and *eventp is set to NULL). The task is attached to.
void isc_ondestroy_notify (isc_ondestroy_t *ondest, void *sender)
 Dispatches the event(s) to the task(s) that were given in isc_ondestroy_register call(s) (done via calls to isc_task_sendanddetach()). Before dispatch, the sender value of each event structure is set to the value of the sender paramater. The internal structures of the ondest parameter are cleaned out, so no other cleanup is needed.


Detailed Description

Definition in file ondestroy.c.


Define Documentation

#define ONDESTROY_MAGIC   ISC_MAGIC('D', 'e', 'S', 't')

Definition at line 32 of file ondestroy.c.

Referenced by isc_ondestroy_init().

#define VALID_ONDESTROY ( s   )     ISC_MAGIC_VALID(s, ONDESTROY_MAGIC)

Definition at line 33 of file ondestroy.c.

Referenced by isc_ondestroy_notify(), and isc_ondestroy_register().


Function Documentation

void isc_ondestroy_init ( isc_ondestroy_t ondest  ) 

Initialize the on ondest structure. *must* be called before first call to isc_ondestroy_register().

Definition at line 36 of file ondestroy.c.

References isc_ondestroy::events, ISC_LIST_INIT, isc_ondestroy::magic, and ONDESTROY_MAGIC.

Referenced by dns_rbtdb_create().

isc_result_t isc_ondestroy_register ( isc_ondestroy_t ondest,
isc_task_t task,
isc_event_t **  eventp 
)

Stores task and *eventp away inside *ondest. Ownership of **event is taken from the caller (and *eventp is set to NULL). The task is attached to.

Definition at line 42 of file ondestroy.c.

References isc_ondestroy::events, ISC_LIST_APPEND, ISC_R_SUCCESS, isc_task_attach(), REQUIRE, and VALID_ONDESTROY.

Referenced by dns_db_ondestroy().

void isc_ondestroy_notify ( isc_ondestroy_t ondest,
void *  sender 
)

Dispatches the event(s) to the task(s) that were given in isc_ondestroy_register call(s) (done via calls to isc_task_sendanddetach()). Before dispatch, the sender value of each event structure is set to the value of the sender paramater. The internal structures of the ondest parameter are cleaned out, so no other cleanup is needed.

Definition at line 66 of file ondestroy.c.

References isc_ondestroy::events, ISC_LIST_HEAD, ISC_LIST_UNLINK, isc_task_sendanddetach(), REQUIRE, and VALID_ONDESTROY.

Referenced by free_rbtdb().


Generated on Tue Apr 28 17:41:18 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha