fastcgi v C/C++ a sarada se std. deskriptory souboru

Martin Povolný xpovolny na aurora.fi.muni.cz
Sobota Květen 31 22:48:36 CEST 2003


Dne: Sat, May 31, 2003 at 07:12:46AM +0000, Martin Povolný napsal:
> Dne: Sat, May 31, 2003 at 06:38:46AM +0000, Martin Povolný napsal:
> > Ahoj,
> > 
> > hledam nekoho, kdo pouziva fastcgi v C/C++ a umel by mi poradit s
> > nasledujicim problemem.
> > 
> > Mel jsem cgi script, ktery pouzival cgilib-0.5 pro zpracovani parametru
> > a tisk hlavicek, ten jsem predelal na fastcgi pomoci fcgi-2.4.0 a
> > ponekud prestal fungovat :-(
> > 
> > Konkretne prvni chybova hlaska v error logu apache se tykala nepritomnosti
> > Content-type hlavicky, kterou ovsem cgilib posila.
> > 
> > Pokud jsem ovsem vyhodil volani prislusne funkce cgilib a odpovidajici printf
> > dal primo do hlavniho programu, apache uz hlavicku dostane.
> > 
> > Navic cgilib nezpracuje parametry predane POSTem.
> > 
> > Navic pri ukonceni (zabiti) onoho fastcgi programu se mi objevi to, co
> > cgilib a muj modul posilali na stdout v logu apatche -- tedy ta, kde
> > je namiren stderr hlavniho programu a fastcgi.
> > 
> > Po dalsim ohledani jsem dospek k nazoru, ze hlavni program a knihovna
> > fastcgi vidi jednu sadu deskriptoru stdin, stdout a stderr,
> > zatimco cgilib ale i dalsi muj modul linkovany k hlavnimu programu
> > vidi jinou sadu.
> > 
> > Bydu vam vdecen za jakoukoliv radu.
> > 
> > Jo jeste: libcgi, libfcgi i dalsi mam linkovane staticky.
> > 
> 
> Jeste bych mel dodat, ze problemy nastanou pouze, pokud aplikaci poustim
> pod web serverem, z prikazove radky je vse v poradku.
> 

A odpovim si sam, cokoliv linkovane s fastcgi, co pouziva vstup/vystup ze
std. deskriptoru musi byt prekladano s pridanym headrem "fcgi_stdio.h",
ten musi byt navic pridan jako privni, coz muze byt problem napriklad u
vystupu z flexe.

Navic je fastcgi zrejme nekompatibilni se std. c++ streamy,

-- 
Martin Povolný, xpovolny na fi.muni.cz, http://www.fi.muni.cz/~xpovolny


Další informace o konferenci Linux