Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пн июл 24, 2017 5:41 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 19 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Запуск тяжелых приожений
СообщениеДобавлено: Чт мар 22, 2012 1:55 am 
SVN r. 2489 - чо.


Вернуться к началу
   
 Заголовок сообщения: Re: Запуск тяжелых приожений
СообщениеДобавлено: Чт мар 22, 2012 2:02 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Mario
В код не вникаем, выводы делаем сразу ? Реагируем на change_task как на красную тряпку, а
Код:
mov     [edx+TASKDATA.state], 1
в упор не видим ? А как без change_task переключится на другую задачу ? Я не в курсе.

Объясняю.
mutex_lock() проверяет состояние счётчика блокировок MUTEX.count и если мьютекс уже занят, добавляет текущий поток в очередь ожидания мьютекса
Код:
list_add_tail esp, ecx      ;esp= new waiter, ecx= list
(cli в этом случае необходима если только ты не ССЗБ.) после чего устанавливает значение TASKDATA.state, чтобы планировщик больше не переключался на эту задачу пока мютекс не будет освобождён. По этой причине код чуть сложнее твоего цикла с опросом.


Последний раз редактировалось Serge Чт мар 22, 2012 4:43 am, всего редактировалось 2 раза.

Вернуться к началу
 Заголовок сообщения: Re: Запуск тяжелых приожений
СообщениеДобавлено: Чт мар 22, 2012 2:07 am 
Это не мой цикл с опросом - этот код изобрел не я. Третий раз уже между прочим говорю.

Ну, раз:
Serge писал(а):
чтобы планировщик больше не переключался на эту задачу пока мютекс не будет освобождён

пусть будет так, но насчет:
Serge писал(а):
По этой причине код чуть сложнее твоего цикла с опросом.

это ты конечно погорячился.


Вернуться к началу
   
 Заголовок сообщения: Re: Запуск тяжелых приожений
СообщениеДобавлено: Пт мар 23, 2012 7:12 pm 
SVN r. 2500 - исправление р.2489

З.Ы. Новые ядреные мьютексы опасны для мозга...


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 19 сообщений ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB