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

События системы
http://board.kolibrios.org/viewtopic.php?f=1&t=2040
Страница 1 из 1

Автор:  Mario [ Пн мар 26, 2012 10:32 pm ]
Заголовок сообщения:  События системы

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

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

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

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

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

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

Автор:  Mario [ Пн мар 26, 2012 11:21 pm ]
Заголовок сообщения:  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:

Автор:  Serge [ Вт мар 27, 2012 1:48 pm ]
Заголовок сообщения:  Re: События системы

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

Автор:  Mario [ Вт мар 27, 2012 1:53 pm ]
Заголовок сообщения:  Re: События системы

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

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

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

Автор:  art_zh [ Вт мар 27, 2012 3:08 pm ]
Заголовок сообщения:  Re: События системы

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

Автор:  Mario [ Вт мар 27, 2012 3:16 pm ]
Заголовок сообщения:  Re: События системы

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

Автор:  Mario [ Вт мар 27, 2012 11:17 pm ]
Заголовок сообщения:  Re: События системы

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

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

Автор:  Mario [ Ср мар 28, 2012 2:57 am ]
Заголовок сообщения:  Re: События системы

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

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

Автор:  Mario [ Ср мар 28, 2012 7:36 pm ]
Заголовок сообщения:  Re: События системы

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

Автор:  Mario [ Пн апр 02, 2012 2:02 am ]
Заголовок сообщения:  Re: События системы

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

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/