|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:5020/400 09 Jul 2004 11:21:35 To : Alexey Rusov Subject : Re: Почему программа вылетает на send() -------------------------------------------------------------------------------- >>> Alexey Rusov wrote: >> Signals FAQ из ru.unix.prog читали? AR> Прочитал. Очень занятно. Hадо будет посмотреть исходный текст malloc в AR> libc_r. Что-то не верится, что он нереентерабельный. Что он таковой в libc - AR> охотно верю. Вы путаете, похоже, разные виды реентерабельности. Защита от рекурсивного вызова и прерывания самой себя (malloc начал что-то делать, тут прервали сигналом и вызвали снова) и от параллельного входа из разных веток - совершенно разные виды защиты, реентерабельность в одном случае совершенно не означает реентерабельности в другом. malloc/free/... не блокируют сигналы. Если malloc будет перестраивать свои структуры и тут его ещё раз позовут из обработчика сигнала - будет совершенно ненормальная ситуация. Хотя во FreeBSD libc она обычно опознаётся (с отказом, естественно, работать). AR> Хотя вспоминая про gethostbyname могу поверить. Самое смешное, AR> что лет 12 назад у меня все это так же замечательно срабатывало и под SunOS. AR> Впрочем, это мы уже совсем в офтоп свалились. Это всё просто везёт. AR> Еще раз спасибо за ссылку. Вот уж правда - век живи, век учись. -netch- --- ifmail v.2.15dev5.3 * Origin: Dark side of coredump (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/22383c3058ba1.html, оценка из 5, голосов 10
|