nelze vytvorit ScoreBoardFile v Apache 2.4
Dan Lukes
dan at obluda.cz
Thu Mar 3 22:14:42 CET 2016
Miroslav Lachman wrote:
> Dan Lukes wrote on 03/03/2016 16:19:
>> Miroslav Lachman wrote on 03/03/16 14:09:
>>> ScoreBoardFile /var/run/apache_runtime_status
>>> tak se mi tam po restartu Apache nevytvori.
No, obavam se, po pohledu do zdrojaku, ze autori dokumentace Apache ne
uplne pochopili zdrojovy kod Apache a dokumentace tak ne uplne odpovida
implementaci.
Podle toho, zda direktivu pouzijes nebo nepouzijes, Apache si vyzada
vytvoreni anonymni nebo pojmenovane sdilene *pameti*.
Pricemz Apache neresi primo jak se to dela na tom-kterem operacnim
systemu - jen vola funkci apr_shm_create v apr1 knihovne (ktera ale je
take soucasti Apache projektu - a SHM v nazevu jasne odkazuje na
sdilenou pamet, nikoliv soubor).
A tahle funkce sdilenou pamet vytvori (anonymni nebo neanonymni). Udela
to zpusobem specifickym pro ten-ktery operacni system.
V pripade FreeBSD se pro pojmenovanou pamet vola shm_open, kde se
parametr ScoreBrdFile uzije co by 'path'.
Ano, na nekterych OS se pojmenovana pamet implementuje pomoci souboru
specifikovaneho pomoci path - ale byt to tak nemusi. Nejen FreeBSD
implementuje sdilenou pamet nezavisle na filesystemu.
Takze ten soubor hledas ve filesystemu marne - objekt daneho jmena byl
vytvoren jako sdilena pamet.
Apache ale pritom je ScoreBoard pristupuje jako k pameti (mmap...) -
takze je mu jedno, jestli do pametu namapovany objekt je soubor nebo
sdilena pamet nebo neco jinyho.
Jde tedy o nekonzistenci mezi dokumentaci a implementaci - bud' meli
autori v umyslu pouzivat sdilenou pamet, pak je trochu nestastny nazev
te direktivy a do dokumentace nepatri zminka o tom, ze se tohle hodi,
kdyz potrebujes mit ScoreBord jako soubor.
Nebo to skutecne chteli mit jako soubor, pak to ovsem nemohou
implementovat volanim apr_shmem_create, ktera slouzi pro vytvoreni
sdilene pameti, nikoliv pro vytvareni souboru.
A celkove to znamena, ze to neni vec, ktera by nejak souvisela s FreeBSD
- a budes to muset resit nekde u autoru Apache. Protoze ale neni jasne
jestli to je chyba v implementaci nebo v dokumentaci, nebude to jen tak
proste hlaseni chyby ...
Dan
More information about the Users-l
mailing list