FreeBSD Manual Pages
KHTTP_FCGI_GETFD(3) Library Functions Manual KHTTP_FCGI_GETFD(3) NAME khttp_fcgi_getfd -- get the FastCGI control socket LIBRARY libkcgi SYNOPSIS #include <sys/types.h> #include <stdarg.h> #include <stdint.h> #include <kcgi.h> int khttp_fcgi_getfd(const struct kfcgi *fcgi); DESCRIPTION Get the control socket used for handling FastCGI processes. This should only be used for polling purposes in asynchronous applications. If the re- turned socket descriptor is manipulated in any other way, the results are undefined. The returned descriptor is only valid after khttp_fcgi_init(3) and prior to khttp_fcgi_free(3). EXAMPLES The following example starts an application in FastCGI or regular CGI mode depending upon the environment. int main(void) { struct pollfd pfd; struct kreq req; struct kfcgi *fcgi; enum kcgi_err er; int rc; er = khttp_fcgi_init(&fcgi, NULL, 0, NULL, 0, 0); if (er != KCGI_OK) errx(1, "khttp_fcgi_init: %s", kcgi_strerror(er)); pfd.events = POLLIN; pfd.fd = khttp_fcgi_getfd(fcgi); /* Poll on other sockets here... */ while ((rc = poll(&pfd, 1, INFTIM)) != -1) { er = khttp_fcgi_parse(fcgi, &req); if (er != KCGI_OK) err(1, "khttp_fcgi_parse: %s", kcgi_strerror(er)); if (KCGI_EXIT == er) { khttp_free(&req); break; } /* Do something. */ khttp_free(&req); } khttp_fcgi_free(fcgi); if (rc == -1) err(1, "poll"); return 0; } SEE ALSO kcgi(3) AUTHORS Written by Kristaps Dzonsons <kristaps@bsd.lv>. FreeBSD ports 15.quarterly $Mdocdate$ KHTTP_FCGI_GETFD(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=khttp_fcgi_getfd&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
