netch80: (Default)
netch80 ([personal profile] netch80) wrote2009-05-04 07:52 pm

[erlang] Сапожник без сапог

С тем, что нельзя открыть файл-устройство, уже столкнулись (отвечает eisdir'ом, хотя совсем не каталог). В рассылках нашлось обоснование - мол, "а что если оно заблокируется на ожидании?" (я вообще-то /dev/urandom пытался открыть, и это мои проблемы, если что-то заблокируется). А сегодня новое. Цитирую коллегу...


Я обнаружил интересную фичу: если файл открыт с опцией compressed, то
file:position/2 за пределы файла напрочь завешивает всю е-ноду вплоть до
момента, пока кто-то не допишет в этот файл нужное количество данных. При
этом нет разницы, зазипован ли файл на самом деле. А ведь единственный
способ узнать реальный размер зазипованных данных - это поблочно прочесть
его весь до eof`а!!!


Интересно, сколько ещё таких недопараллельностей таится в "параллельной" среде...
ext_605364: geg MOPO4 (Default)

[identity profile] gegmopo4.livejournal.com 2009-05-05 06:22 pm (UTC)(link)
Вообще-то говоря иногда размер содержится в заголовке. Если это не поточный gzip, конечно.
netch: (Default)

[personal profile] netch 2009-05-05 06:28 pm (UTC)(link)
Вот именно, что поточный.

[identity profile] trivee.livejournal.com 2009-05-06 09:51 am (UTC)(link)
Поглядеть так снаружи - ну и проблемы у вас там...

А я вот сегодня обнаружил, что в стандарте написано одно:

All input and output signals have 16-bit word lengths, which are limited to a range of -16384 to 16383 in 2’s complement notation.

а в reference implementation сделано совсем другое (-32768..32767, естественно). И уже 15 лет это никого не волнует...

[identity profile] netch80.livejournal.com 2009-05-10 06:29 pm (UTC)(link)
Очаровательно. У IETF такое есть, но это же не IETF, а наверняка ISO? Для них такие ляпы нетипичны...

[identity profile] zyxman.livejournal.com 2009-12-26 08:14 am (UTC)(link)
Это примерно такого-же уровня проблема, как установить фрю на нестандартное железо - ну не обкатано оно на этом классе задач, потому нужно вспомнить что такое демократия и жить дальше ;)