Важная информация

User Tag List

Страница 30 из 100 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя
Показано с 291 по 300 из 992

Тема: Эмулятор терминала типа VT52

  1. #291
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,781
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Надо вставить туда печать в файл и проверить, закрывается ли он сам при выходе из программы.
    Все же желательно ему послать команду, только не помню как.

    ---------- Post added at 20:56 ---------- Previous post was at 20:55 ----------

    Хотя, конечно, закрывается. Как и все открытые файлы, и много чего еще.

  2. #292
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Все же желательно ему послать команду
    PostThreadMessage

    Хотя, конечно, закрывается. Как и все открытые файлы, и много чего еще.
    Имелась в виду проверка ( при помощи печати в файл ), получают ли все потоки процесса WM_QUIT при выходе из программы.

  3. #293
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,781
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    PostThreadMessage

    Имелась в виду проверка ( при помощи печати в файл ), получают ли все потоки процесса WM_QUIT при выходе из программы.
    На сколько я знаю - да.

    ---------- Post added at 21:16 ---------- Previous post was at 21:01 ----------

    Безобразие! Если послать WM_QUIT потоку слишком быстро, вскорости после создания, то это сообщение ему не доходит, и он не закрывается.
    Стало быть надо еще проверять, а не создан ли уже поток успешно. Фиг проверишь. Надо вводить переменную флага внутри него.
    А вообще, нафиг. Раз при закрытие программы, все потоки закрываются, ну и фиг с ним - закроется сам.

  4. #294
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    фиг с ним - закроется сам.
    Думаю, главное - чтобы в потоке был разборщик сообщений.

    У меня разборщик есть только в потоке интерфейса, а остальные потоки сообщения не проверяют.
    Возможно, как раз по этой причине эмулятор ДВК "застревает" в памяти примерно в 10% случаев.

  5. #295
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,781
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Думаю, главное - чтобы в потоке был разборщик сообщений.

    У меня разборщик есть только в потоке интерфейса, а остальные потоки сообщения не проверяют.
    Возможно, как раз по этой причине эмулятор ДВК "застревает" в памяти примерно в 10% случаев.
    Мне кажется, что когда процесс закрывается, он и все потоки должен свои прибивать. Как иначе?

  6. #296
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Мне кажется, что когда процесс закрывается, он и все потоки должен свои прибивать. Как иначе?
    Главный поток выходит из WinMain, но программа остаётся в памяти. Надо будет сделать отладочную печать при выходе из каждого потока и проверить - завершаются ли они все в случаях "застревания".

    Ведь выход из WinMain - это ещё не завершение процесса. В CRT есть код и перед вызовом WinMain, и после выхода из WinMain.

  7. #297
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,781
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Главный поток выходит из WinMain, но программа остаётся в памяти. Надо будет сделать отладочную печать при выходе из каждого потока и проверить - завершаются ли они все в случаях "застревания".
    Думаю, что это не просто, т.к. все файлы, которые созданы процессом, тоже закрываются, и может просто не успеть в него напечататься. А может и успеет, не знаю)

  8. #298
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от anasana Посмотреть сообщение
    OutputDebugString в VisualStudio вроде держится "до последнего".
    Можно просто не выходить из WinMain, пока все потоки не "дадут добро".

  9. #299
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,781
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Кстати, раз ты уж такой хороший виндовый системщик, может подскажешь решение такой проблемы.
    Мне необходимо синхронизироваться с VBlank. Для этого я использую функцию lpDD->WaitForVerticalBlank(DDWAITVB_BLOCKEND,NULL) - это из DirectGraphics. Все замечательно, только эта функция отбирает быстродействие, пока ждет вертикального гашения луча. Т.е. запустил, и все, поцесс ожидания берет на себя все быстродействия компьютера. Это совершенно не айс. Мне нужнен аналог этой функции, который не берет быстродействия на себя, а аналогичен Sleep(). Или же чтобы во время VBlank пришел какой-нить колбек и разбудил мой процесс.
    Спрашивал на программистких форумах, внятного ответа не увидал.

    ---------- Post added at 00:46 ---------- Previous post was at 00:42 ----------

    И еще, какие есть возможности в винде для засыпания процесса на некоторое время кроме Sleep? Нет ли засыпания на фиксированное время с точностью до микросекунд? Потому что в слип задержка топорная. Где-то я читал, что на Sleep влияет timeBeginPeriod(), но работает не у всех.

  10. #300
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,567
    Спасибо Благодарностей отдано 
    1,227
    Спасибо Благодарностей получено 
    1,781
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Вычитал, что в интерфейсе IDirect3DDevice9Ex вроде бы есть функция WaitForVBlank, которая действительно умеет засыпать до начала кадра. Но, судя по докам:

    DirectX 9.0L:

    Предоставляет дополнительные интерфейсы IDirect3D9Ex и IDirect3DDevice9Ex с функциональностью, доступной лишь через LDDM-драйверы ОС Windows Vista.
    Т.е. этот дополнительный интерфейс работает начиная с Висты? Проверить не могу, т.к. у меня нет вообще SDK 9, есть только 8, потому что Visual Studio 2003.

Страница 30 из 100 ПерваяПервая ... 262728293031323334 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. [Аукционъ] Клавиатура от терминала ЕС-7927
    от BYTEMAN в разделе Барахолка (архив)
    Ответов: 18
    Последнее: 15.05.2012, 14:50
  2. Срочно ищу монитор от терминала 15ИЭ-00-013 (от ДВК-2)
    от dk_spb в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 10.02.2012, 10:19
  3. Куплю клавиатуру КМ-035 для терминала СМ 7238
    от Kronshou в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 13.09.2010, 23:33
  4. C64 или C128 в качестве терминала под Linux
    от Vinnny в разделе Commodore 16/64/128
    Ответов: 6
    Последнее: 14.12.2007, 16:39
  5. Подгрузка pc-файла типа "codes" в эмулятор
    от maximk в разделе Эмуляторы
    Ответов: 15
    Последнее: 13.11.2006, 15:46

Ваши права

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