В соседнем треде нашел решение своей проблемы, но пока искал пробовал разные способы и вот используя один из них у меня возникло недопонимание ситуации. Вопрос теоретический, так что про смысл сего лучше не спрашивать.
Вот код
#include <stdio.h>
#include <gtk/gtk.h>
GCond* my_cond;
GMutex* my_mutex;
void fr(void)
{
my_mutex=g_mutex_new();
my_cond=g_cond_new();
g_mutex_lock(my_mutex);
GTimeVal tm;
tm.tv_sec=15;
tm.tv_usec=1;
if(!g_cond_timed_wait(my_cond,my_mutex,&tm))
printf("%d\n",tm.tv_sec);
g_mutex_unlock(my_mutex);
printf("2\n");
}
int main(void)
{
int b=0;
g_thread_init(NULL);
GThread* p = g_thread_create((gpointer) fr,NULL,TRUE,NULL);
g_thread_join(p);
printf("yes\n");
return 0;
}
Почему не происходит 15сек задержка, но при этом g_cond_timed_wait возвращает FALSE, что свидетельствует о завершение временного интервала?
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от Dudraug
Ответ на:
комментарий
от Dudraug
Ответ на:
комментарий
от Reset
Ответ на:
комментарий
от Dudraug
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум GLib проблема с потоками GMainLoop (2014)
- Форум Завершение потока: остается занятая память. (2009)
- Форум Быдлокод не быдлокод? (2014)
- Форум libnotify+gtk2+threads in c++ = Ошибка сегментирования (2012)
- Форум [Потоки] [pthread_create] Минимальный пример. Текут дескрипторы и память. (2011)
- Форум Утекает память при завершении потока. (2006)
- Форум GTK: создание нового окна в новом потоке (2007)
- Форум Как освобождать память завершённых нитей? (2014)
- Форум Libglade + KDE (3.5) - не отображается ui (2009)
- Форум Pipe (2011)