The daemon_atrestart function lets you register a callback function named by fn to be used when the server terminates. Use this function when you need a callback function to deallocate resources allocated by an initialization function. The daemon_atrestart function is a generalization of the magnus_atrestart function.
The magnus.conf directives TerminateTimeout and ChildRestartCallback also affect the callback of NSAPI functions.
void daemon_atrestart(void (*fn)(void *), void *data);
void
void (* fn) (void *) is the callback function.
void *data is the parameter passed to the callback function when the server is restarted.
/* Register the log_close function, passing it NULL */ /* to close *a log file when the server is *//* restarted or shutdown. */daemon_atrestart(log_close, NULL);NSAPI_PUBLIC void log_close(void *parameter) {system_fclose(global_logfd);}
The dns_set_hostent function sets the DNS host entry information in the request.If this is set, the proxy won’t try to resolve host information by itself, but instead it will just use this host information which was already resolved within custom DNS resolution SAF.
int dns_set_hostent(struct hostent *hostent, Session *sn, Request *rq);
REQ_PROCEED on success or REQ_ABORTED on error.
struct hostent *hostent is a pointer to the host entry structure.
Session *sn is the Session
Request *rq is the Request
int my_dns_func(pblock *pb, Session *sn, Request *rq) { char *host = pblock_findval("dns-host", rq->vars); struct hostent *hostent; hostent = gethostbyname(host);//replace with custom DNS implementation dns_set_hostent(hostent, sn, rq); return REQ_PROCEED; }