Думаю, многие из вас в курсе, что в NPTL механизм pthread_cancel() реализован с помощью исключений. Таким образом, следует избегать нейтрализации catch(...).

Знающие люди, а скажите, есть ли в мелко-мягкой среде какие-то подводные камни, из-за которых тоже следует избегать такой нейтрализации?

Заранее благодарен! :-)

Update: Обратные ссылки: alextutubalin: Об исключениях (C++)
Подкралось незаметно, проявившись на больших файлах.
Причём, и в файле (по которому идёт греп), и в запросе - символы только ASCII с кодами < 127. Read more... )
Вот такие вилы с производительностью из-за интернационализации в grep'е на моей платформе. :-(

Upd: Возвращаясь к выводу "strace -r ...", всплывают следующие подробности. Read more... )
ASCII Code Chart. Anomie, 29 August 2008

(Натолкнула на размышления вот эта строка из chrome/content/filterClasses.js проекта Adblock Plus. В POSIX API regcomp()/regexec() всё также работает, как и в JavaScript.)


Почему срабатывает следующее выражение?
> echo "a.b" | grep -E '[ -#]'
a.b
Ведь в ASCII и UTF-8 точка находится после диеза.
Поправить легко:
> echo "a.b" | LANG= grep -E '[ -#]'

Оказывается, это устойчивое поведение.
> touch 'a ' ; touch 'a!' ; touch 'a"' ; touch 'a#' ; touch 'a.' ; touch 'a,'
> ls
a   a,  a!  a.  a"  a#
> LANG= ls
a   a!  a"  a#  a,  a.


Братцы, как называется эта Collating sequence для этих знаков, отличная от ASCII/Unicode?

Update: http://www.collation-charts.org/ (Спасибо Яше!)
Ticket #703 (closed merge: fixed), Opened 3 years ago, Last modified 3 months ago

Non-executable stacks


The GNU toolchain supports marking object files that do not need to use an executable stack. Currently all object files produced by GHC lack these notes and so the linker defaults to using an executable stack for the resulting binary.

This makes some people grumpy. In particular it makes the Gentoo QA people grumpy. :-)

The long story:
http://www.gentoo.org/proj/en/hardened/gnu-stack.xml

The quick story:
Every .S file produced by ghc should include:
.section .note.GNU-stack,"",@progbits
Currently this does not happen for either -fasm or -fvia-C.

P.S.: I like Gentoo. Thanks, Daniel!
Я уже писал, что занимаюсь проблемой 2038-го года. В сязи с этим вспомнил и узнал несколько забавных фактов.
Угадайте:
  1. Каков диапазон целочисленных значений, который может принимать переменная типа time_t?
  2. Какое значение возвращает функция mktime для идентификации ошибки?
  3. Какое значение вернёт функция mktime, если передать ей отрицательный день или 14-й месяц?

Ответы. )
Так же читайте в моём блоге: Критическая статья о Boost Date-Time library и std::pair vs. std::swap.

Profile

dememax

May 2023

S M T W T F S
 123456
78910111213
14151617181920
21 2223 24252627
28293031   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 05:00 pm
Powered by Dreamwidth Studios