проблема с boost::thread
От: Imdex  
Дата: 16.07.13 15:50
Оценка: -1
Привет. Использую сборку x32-4.7.1-win32-dwarf-rev0, пытаюсь использовать boost::thread (boost 1.52, также пробовал 1.54) для потоков. Ловлю крэш при попытке сделать wait у boost::condition_variable при вызове WaitForMultipleObjects. Код простейший:

boost::unique_lock<boost::mutex> lock(mutex);
condition.wait(lock);


Есть подозрение, что нужен какой-то ключик или макрос какой-нить для буста? хелп плиз.
Re: проблема с boost::thread
От: Imdex  
Дата: 16.07.13 15:55
Оценка:
Забыл указать, использую сборку mingw отсюда
Re[2]: проблема с boost::thread
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.07.13 16:34
Оценка:
приведи пример компилябельного кода.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: проблема с boost::thread
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.07.13 16:35
Оценка:
Здравствуйте, Imdex, Вы писали:

I>Использую сборку x32-4.7.1-win32-dwarf-rev0


почему же такую древность, да еще и нулевую ревизию?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[2]: проблема с boost::thread
От: Imdex  
Дата: 16.07.13 16:50
Оценка:
Код простейший, заводим мьютекс + кондишн вариэйбл, затем локаем мьютекс и делаем wait, получаем крэш. Древность потому, что нужно собираться под гцц 4.7.1 на линухе, а ревизия единственная, какую предлагает онлайн инсталлятор.
Re[3]: проблема с boost::thread
От: niXman Ниоткуда https://github.com/niXman
Дата: 16.07.13 17:05
Оценка: +1
Здравствуйте, Imdex, Вы писали:

I>Код простейший

и что, ты предлагаешь вместо тебя еще и код написать? %)
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re: проблема с boost::thread
От: Sni4ok  
Дата: 17.07.13 13:18
Оценка:
Здравствуйте, Imdex, Вы писали:

I>Есть подозрение, что нужен какой-то ключик или макрос какой-нить для буста? хелп плиз.


есть подозрение, что вам просто буст нужно собрать.
Re[2]: проблема с boost::thread
От: Sni4ok  
Дата: 17.07.13 13:20
Оценка:
Здравствуйте, Sni4ok, Вы писали:

S>есть подозрение, что вам просто буст нужно собрать.


в случае если это делать лень- используйте std::thread и std::condition_variable, тем более под линуксом std::condition_variable быстрее бустовской.
Re[3]: проблема с boost::thread
От: Imdex  
Дата: 18.07.13 08:19
Оценка:
Всем спасибо за ответы, в общем разобрался, ошибка была совсем в другом месте, но падало почему то на condition_variable.

Здравствуйте, Sni4ok, Вы писали:

S>Здравствуйте, Sni4ok, Вы писали:


S>в случае если это делать лень- используйте std::thread и std::condition_variable, тем более под линуксом std::condition_variable быстрее бустовской.

Я бы с радостью, но mingw говорит, что не знает никакого std::thread, даже с ключиком -std=c++11
Re[4]: проблема с boost::thread
От: niXman Ниоткуда https://github.com/niXman
Дата: 18.07.13 08:23
Оценка:
Здравствуйте, Imdex, Вы писали:

I>Я бы с радостью, но mingw говорит, что не знает никакого std::thread, даже с ключиком -std=c++11


так ты же используешь сборку, с win32 моделью потоков.
бери x32-4.7.1-posix-dwarf-rev0
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.