URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6696
[ Назад ]

Исходное сообщение
"использование localtime()"

Отправлено developer1 , 23-Авг-07 12:33 
Может кто подскажет? Использую фунции времени:
#include <time.h>

time_t now;
struct tm *tmnow;
now = time(NULL);

И как только добавляю tmnow = localtime(&now) программа выдает segmentation fault. Не могу понять, в чем проблема?


Содержание

Сообщения в этом обсуждении
"использование localtime()"
Отправлено vic , 23-Авг-07 12:54 
Напишите полностью тестовый пример который у вас не работает. И какая у вас ОС.
У меня вот это всегда работало и работает.

"использование localtime()"
Отправлено developer1 , 23-Авг-07 14:13 
SUSE Linux 10.1 С кодом сложнее, программа большая, работает и с com портом и MYSQL базой. Причем без функции localtime все отлично. Как можно понять из-за чего и где происходит segmentation fault?

"использование localtime()"
Отправлено phpcoder , 23-Авг-07 14:27 
>Как можно понять из-за чего и где происходит segmentation fault?

Использовать отладчик ;-)


"использование localtime()"
Отправлено vic , 23-Авг-07 15:03 
>SUSE Linux 10.1 С кодом сложнее, программа большая, работает и с com
>портом и MYSQL базой. Причем без функции localtime все отлично.

Значит дело не в функции localtime(). Скорее всего портится стек где-то недалеко от места где вызывается функция.

>Как можно понять из-за чего и где происходит segmentation fault?

Ну не знаю, но есть же отладочная печать (printf), отладчик (gdb), утилиты типа valgrind, strace и т.п.


"использование localtime()"
Отправлено dimonna , 30-Авг-07 10:41 
>>SUSE Linux 10.1 С кодом сложнее, программа большая, работает и с com
>>портом и MYSQL базой. Причем без функции localtime все отлично.
>
>Значит дело не в функции localtime(). Скорее всего портится стек где-то недалеко
>от места где вызывается функция.
>
>>Как можно понять из-за чего и где происходит segmentation fault?
>
>Ну не знаю, но есть же отладочная печать (printf), отладчик (gdb), утилиты
>типа valgrind, strace и т.п.

man нам гласит что localtime - не threadsafe функция - если есть многопоточность тогла используйте localtime_r