Problem s FIFO (mirne OT)
Michal Krause
mike na navrcholu.cz
Středa Červen 9 14:50:23 CEST 1999
Dne 9. 6. 1999 Petr Novotny napsal:
> > Slo o to, ze jsem potreboval cist data po radcich (fgets()) a nesmely se
> > mi nikdy pomotat data z vice zapisujicich procesu. Mozna, ze by slo pouzit
> > trochu jinou organizaci dat z CGI a spolehnou na to, ze data se vejdou do
> > pipe bufferu, pak by mely byt operace atomicke, ale z nejakeho duvodu jsem
> > to zavrhl. Abych pravdu rekl, uz nevim proc, psal jsem to asi pred rokem.
>
> Moment, neni nekde (POSIX?) zaruceno, za zapisy write() do roury
> po nejakou velikost jsou atomicke? Dokonce jsem si i myslel, ze
> by to mohlo byt 512 bytu. Netusim, kde jsem to cetl :-(
No vzdyt o kousek vys pisu, ze jsem to z nejakeho duvodu zamitnul. Tenkrat
jsem s tim udelal dost testu a neco me vedlo k tomu, ze jsem to nepouzil.
Ale kdybych se rozkrajel, netusim co to bylo :(
Zacinam ted vazne premyslet o tom, ze udelam novou serii testu, protoze to
by muj problem vyresilo.
Jinak velikost toho bufferu neni pokud vim dana POSIXem, ale zjistuje se
pomoci
pathconf(path, _PC_PIPE_BUF)
resp.
fpathconf(file_descr, _PC_PIPE_BUF);
V Linuxu je to 4096 bajtu.
S pozdravem
Michal Krause /\
ICQ: 7665279 Informace (nejenom) ze sveta Linuxu /\/ \
email: mike na navrcholu.cz ______ http://www.root.cz/ ______ NAVRCHOLU.cz
There are three kinds of lies: lies, damn lies, and benchmarks.
Jeremy Allison
Další informace o konferenci Linux