crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QReadWriteLock, Рекурсия
flankerr
  опции профиля:
сообщение 4.3.2008, 18:07
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


При рекурсивной блокировки ругается отсюда вопрос:
как забацать рекурсивную блокировку ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 4.3.2008, 18:13
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Покажи свой рекурсивный код, при котором ругается...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 4.3.2008, 18:16
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


QReadWriteLock m_lockData_1;
QReadWriteLock m_lockData_2;

//
m_lockData_1.lockForWrite();
m_lockData_2.lockForWrite();
///
m_lockData_2.unlock();
m_lockData_1.unlock();

Сообщение отредактировал flankerr - 4.3.2008, 18:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 4.3.2008, 22:51
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Ну насчет того как ты блокируешь и снимаешь блокировку понятно.
Меня интересует сам код, в котором проблемы... ;)

Если не можешь выложить опиши, что и как у тебя работает, например:
в разных потоках я работаю с клиентскими подключениями и должен писать данные о клиентах в один тот же файл, делаю так...

При рекурсивной блокировке, ругается так: [описание того, как ругается].

А иначе я могу только гадать, и не факт, что отгадаю с первого раза. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 5.3.2008, 13:11
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


код выдерать проще новый написать:)
смысл в том что еть два потока.
есть вызов некой большой функции где устанавливается блокировка и внутри функции есть вызовы на ряд других функций где тоже надо установить блокировку.
Фенька в том что эти функции могут вызываться как каждая по отдельности так и внутри общей функции.
Надеюсь не запутал :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 16.4.2024, 22:18