KHTTP_FREE(3) Library Functions Manual KHTTP_FREE(3)

NAME

khttp_free, khttp_child_freefree a CGI instance for kcgi

LIBRARY

library “libkcgi”

SYNOPSIS

#include <sys/types.h>
#include <stdarg.h>
#include <stddef.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 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>.
September 22, 2017 OpenBSD 5.8