Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт май 25, 2017 9:12 pm

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




Начать новую тему  Ответить на тему  [ 10 сообщений ] 
Автор Сообщение
 Заголовок сообщения: События системы
СообщениеДобавлено: Пн мар 26, 2012 10:32 pm 
Во-первых, я тут обнаружил одну вещь.
SVN r. 1067 товарищ Galkov, давно не появляющийся на форуме, похерил пару pushfd/popfd изолирующих систему от последствий вызова CLI. Сопроводил он это броским комментарием "а нафига?", а в лог SVN гордо написал "event - small optimization, not more".

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

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

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

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

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


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Пн мар 26, 2012 11:21 pm 
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:


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Вт мар 27, 2012 1:48 pm 
Не в сети
Kernel Developer

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


Вернуться к началу
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Вт мар 27, 2012 1:53 pm 
Serge писал(а):
Mario
1)Может заодно и /blkdev исправишь ? Там тебе код наверняка знаком :D

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

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


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Вт мар 27, 2012 3:08 pm 
Не в сети
Kernel Developer
Аватара пользователя

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

_________________
Узкий специалист подобен флюсу: полнота его - односторонняя.
Козьма Прутков


Вернуться к началу
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Вт мар 27, 2012 3:16 pm 
Я не утверждал что я сильно умнее - Сергей выше ткнул меня носом в мое творчество давностью в несколько лет. Однако у меня хотя бы разблокировка идет, парное CLI/STI.


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Вт мар 27, 2012 11:17 pm 
Mario писал(а):
Я хочу сделать так, чтобы событие всегда возвращалось всем потокам (у которых установлен соответствующий бит чрез ф.40), когда закончится перерисовка фона.

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


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Ср мар 28, 2012 2:57 am 
Serge писал(а):
1)Может заодно и /blkdev исправишь ? Там тебе код наверняка знаком :D

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


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Ср мар 28, 2012 7:36 pm 
SVN r. 2515 Function 15.8 - Get coordinates of last draw the background
Получение предельных координат последней восстановленной области фона. Для достоверности данных должно быть вызвано приложением сразу при получении события 5.
Описание читать в документационной части исходников ядра.


Вернуться к началу
   
 Заголовок сообщения: Re: События системы
СообщениеДобавлено: Пн апр 02, 2012 2:02 am 
SVN r. 2537 оптимизация ф.15.8. Теперь вероятность того что приложение успеет получить правильные данные, до следующей перерисовки фона, значительно возросла.


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

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


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

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


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

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