Board.KolibriOS.org

Official KolibriOS board
It is currently Fri May 29, 2020 10:24 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 19 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Thu Mar 22, 2012 1:55 am 
SVN r. 2489 - чо.


Top
   
PostPosted: Thu Mar 22, 2012 2:02 am 
Offline
Kernel Developer

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

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


Last edited by Serge on Thu Mar 22, 2012 4:43 am, edited 2 times in total.

Top
   
PostPosted: Thu Mar 22, 2012 2:07 am 
Это не мой цикл с опросом - этот код изобрел не я. Третий раз уже между прочим говорю.

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

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

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


Top
   
PostPosted: Fri Mar 23, 2012 7:12 pm 
SVN r. 2500 - исправление р.2489

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 19 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited