KHTTP_FREE(3)

NAME
khttp_free, khttp_child_free - free a CGI instance for kcgi

LIBRARY
libkcgi

SYNOPSIS
#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>
void
khttp_free(struct kreq *req);
void
khttp_child_free(struct kreq *req);

DESCRIPTION
The khttp_free() and khttp_child_free() functions free the resources of req allocated by khttp_parse(3) or khttp_fcgi_parse(3), flushing the HTTP data stream in the process. After calling this function, the members of req should not be used and the function should not be called again.

The khttp_child_free() function performs the same operations as khttp_free(), but does not flush the HTTP data stream. Thus, it may be used after invoking fork(2) without confusing the output buffer.

Note: if you're forking within your CGI application, be aware of some caveats. Most web servers will continue to wait while stdout, stderr, and stdin are open to the CGI application. Thus, if you fork a long-running application, you must close out these file descriptors.

SEE ALSO
kcgi(3), khttp_parse(3)

AUTHORS
The khttp_free() and khttp_child_free() functions were written by Kristaps Dzonsons <kristaps@bsd.lv>.