Программа компилится следующим макаром
gcc ...... -c log.c
gcc ...... -g -O2 -o prog log.o ... -pthread -Wallесть две версии, почти идентичные, т.е. одна с потоками, а другая без. Различие между ними в коде минималоьны, т.е. расставлены mutex и соответственно всевозможные блокировки. Так вот при работе с потоками происход утечка памяти. Даже добавление блокировок при работе с malloc ситуация не меняется. Для всех mutex корректно отрабатывает destroy, потоки завершаются pthread_detach(), поток создается CREATE_DETACHED и SCOPE_SYSTEM.
ЗЫ: FreeBSD 4.1
Ларчик просто открывается: Я вообще удивляюсь, как у тебя все SegFaultами не кончается.... При работе с потоками низя не в коем разе пользоваться mallocaми при доступе к разделенным ресурсам... Shared Memory и ничего другого! Иначе усе будеть глючить страшно....