Board.KolibriOS.org
http://board.kolibrios.org/

События системы
http://board.kolibrios.org/viewtopic.php?f=1&t=2040
Page 1 of 1

Author:  Mario [ Mon Mar 26, 2012 10:32 pm ]
Post subject:  События системы

Во-первых, я тут обнаружил одну вещь.
SVN r. 1067 товарищ Galkov, давно не появляющийся на форуме, похерил пару pushfd/popfd изолирующих систему от последствий вызова CLI. Сопроводил он это броским комментарием "а нафига?", а в лог SVN гордо написал "event - small optimization, not more".

Действительно, нафига системе лишняя работа с прерываниями? Она может повернутся к ним нижней частью спины и остаться тет-а-тет с приложением, вызвавшим 72 функцию, еще немного времени. :lol:

Если у более опытных товарищей нет возражений, то я это изменение откачу назад.

Во-вторых
Меня всегда интересовало неуловимое событие:
Quote:
5 = перерисовывается фон рабочего стола (сбрасывается автоматически после перерисовки, так что если во время перерисовки фона программа не ждёт и не проверяет события, то этого события она не заметит)

Неуловимое в общем то по двум причинам: потому что неуловимый Джо и потому что действительно трудно поймать.
Ценность для приложения по сути нулевая. Я не знаю приложений которые это используют. Я хочу сделать так, чтобы событие всегда возвращалось всем потокам (у которых установлен соответствующий бит чрез ф.40), когда закончится перерисовка фона. Если вы знаете такие приложения, то просьба сообщить, чтобы не сломать работающих механизмов.

Итак жду мнения товарищей разработчиков.

Author:  Mario [ Mon Mar 26, 2012 11:21 pm ]
Post subject:  Re: События системы

SVN r. 2508 Fix for. r. 1067. Using of the CLI command, without pushfd/popfd - It's a Mad, Mad, Mad, Mad World!

Рискнул поправить первую часть первого поста темы.

Варианты:
1) Я прав!
2) Я прав!
2) Я прав!
2) Я прав!
Выбирайте какой по душе.
:mrgreen:

Author:  Serge [ Tue Mar 27, 2012 1:48 pm ]
Post subject:  Re: События системы

Mario
1)Может заодно и /blkdev исправишь ? Там тебе код наверняка знаком :D
2)Поддерживаю. Событие специфическое и годится для десктоп приложения. А остальным без надобности.

Author:  Mario [ Tue Mar 27, 2012 1:53 pm ]
Post subject:  Re: События системы

Serge wrote:
Mario
1)Может заодно и /blkdev исправишь ? Там тебе код наверняка знаком :D

Что же ты раньше молчал? Партизан! :lol:

Вообще то мысли были прошерстить ядро, но на все как всегда времени не хватает.

Author:  art_zh [ Tue Mar 27, 2012 3:08 pm ]
Post subject:  Re: События системы

Galkov ушел на Оберон и пользуется там баальшим аффтаритетом.
Здесь его оптимизаторство не оценили. :(
Суперкласс: выпнуть костыль "потомучтозачем?", даже не разобравшись что он что-то держал.

Author:  Mario [ Tue Mar 27, 2012 3:16 pm ]
Post subject:  Re: События системы

Я не утверждал что я сильно умнее - Сергей выше ткнул меня носом в мое творчество давностью в несколько лет. Однако у меня хотя бы разблокировка идет, парное CLI/STI.

Author:  Mario [ Tue Mar 27, 2012 11:17 pm ]
Post subject:  Re: События системы

Mario wrote:
Я хочу сделать так, чтобы событие всегда возвращалось всем потокам (у которых установлен соответствующий бит чрез ф.40), когда закончится перерисовка фона.

Сделал в SVN r. 2513.

Author:  Mario [ Wed Mar 28, 2012 2:57 am ]
Post subject:  Re: События системы

Serge wrote:
1)Может заодно и /blkdev исправишь ? Там тебе код наверняка знаком :D

Что то я передумал трогать этот устоявшийся код - он достаточно стабилен, а все мои попытки сделать лучшее (враг хорошего!) вылились в кучу глюков еще в Qemu. Так что ну нафик! Иногда стоит соблюдать принцип "Работает? Не рожь!"

Author:  Mario [ Wed Mar 28, 2012 7:36 pm ]
Post subject:  Re: События системы

SVN r. 2515 Function 15.8 - Get coordinates of last draw the background
Получение предельных координат последней восстановленной области фона. Для достоверности данных должно быть вызвано приложением сразу при получении события 5.
Описание читать в документационной части исходников ядра.

Author:  Mario [ Mon Apr 02, 2012 2:02 am ]
Post subject:  Re: События системы

SVN r. 2537 оптимизация ф.15.8. Теперь вероятность того что приложение успеет получить правильные данные, до следующей перерисовки фона, значительно возросла.

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/