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