информационная безопасность
без паники и всерьез
 подробно о проекте
Где водятся OGRыПортрет посетителяСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Критическая уязвимость UEFI позволяет... 
 Японский хостинг попросил клиентов... 
 Компрометация eMudhra вынудила... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Почему поток не завершает своё выполнение?? 05.08.01 17:27  Число просмотров: 1028
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
мля, фишка в том, что я накада не вызываю CloseHandle, обычно без него всё работает!! да и у этого потока, если убрать внутренности, то всё нормально!!! а с внутренностями такая вот муйня!
<programming>
[C++] Почему поток не завершает своё выполнение?? 05.08.01 15:31  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
есть обычный поток, созданный как HANDLE h = CreateThead
в конце потока есть return 0;
Сам поток совершает некоторые действия, я точно знаю что он доходит до return 0;
но потом происходит следующая вещь: ProcessViewer показывает во время выполнения потока что в программе 2-а потока, тот поток, доходит до return 0; но ProcessViewer всё равно показывает что у программы 2-а потока, причём прога как то подвисает и её нельзя убить ProcessViewer'ом!!
Что бы это могло быть???
[C++] Почему поток не завершает своё выполнение?? 05.08.01 15:35  
Автор: duh Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> есть обычный поток, созданный как HANDLE h = CreateThead
> в конце потока есть return 0;
> Сам поток совершает некоторые действия, я точно знаю что он
> доходит до return 0;
> но потом происходит следующая вещь: ProcessViewer
> показывает во время выполнения потока что в программе 2-а
> потока, тот поток, доходит до return 0; но ProcessViewer
> всё равно показывает что у программы 2-а потока, причём
> прога как то подвисает и её нельзя убить ProcessViewer'ом!!
> Что бы это могло быть???

а ты зделал CloseHandle?
[C++] Почему поток не завершает своё выполнение?? 05.08.01 17:27  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
мля, фишка в том, что я накада не вызываю CloseHandle, обычно без него всё работает!! да и у этого потока, если убрать внутренности, то всё нормально!!! а с внутренностями такая вот муйня!
типа наезд 06.08.01 01:28  
Автор: Qrot Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> мля, фишка в том, что я накада не вызываю CloseHandle,
слушай, мил человек, ты доки читать пробовал?
а то по твоим постингам складывается впечатление, что ты все познаешь на собственном анусе.
кстати, если при пустом потоке все пашет, то наверно ошибка где-нить в теле потока, нет?
типа наезд 06.08.01 02:09  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
вот я и говарю, что может быть такова в теле потока, что бы такая муйня происходила?
типа наезд 06.08.01 08:53  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
> вот я и говарю, что может быть такова в теле потока, что бы
> такая муйня происходила?

а кода много ? :)
а то может проще его здесь написать

а насчёт количества потоков - если у тебя дебажная версия собрана, то там может быть что угодно

если он доходит до return нормально а потом виснет, то можно предположить что ты где то в стек насрал :) (адрес возврата неправильный)
[C++] типа наезд 06.08.01 21:39  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Да!
до return'а у меня стоит месагбох, и 100% ретурн возвращает 0, но.....
А как я мог настрать в стек?? чем??
[C++] типа наезд 07.08.01 13:34  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
ты говорил что с пустым потоком всё работает

попробуй по частям добавлять код
ну закоментарь всё остальное

когда наестся - значит нашёл то что нужно :)
Почему при работе с БД в потоке происходит RuntimeError 06.08.01 05:31  
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я пытаюсь в отдельном потоке произвести запись в бузе данных DAO, тоесть юзаю CDaoRecordset,CDaoDatabse и т.д. Но происходит какой-то error прямо в-фции поиска, и никаким исключением этот error не обрабатывается. Та-же операция вне потока проходит на ура. Вот такая шляпа, может кто уже такую видел?
что-то такое было... 06.08.01 15:43  
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Я пытаюсь в отдельном потоке произвести запись в бузе
> данных DAO, тоесть юзаю CDaoRecordset,CDaoDatabse и т.д. Но
> происходит какой-то error прямо в-фции поиска, и никаким
> исключением этот error не обрабатывается. Та-же операция
> вне потока проходит на ура. Вот такая шляпа, может кто уже
> такую видел?

Подобная вещь у меня была (только не с базами, а с производным классом
от CView). Никак не получалось пользоваться некоторыми методами этого класса не из того потока, в котором он был создан. Разбор показал, что это происходит из-за реализации класса, существенно использующей TLS (thread local storage).
Может, у такой реализации и есть свои преимущества - тут я не специалист. Если дело в этом, то пиши пропало. В моем случае требовалось всего лишь послать окну update, а это можно сделать и при помощи PostMessage.
А я пробывал класс в потоке создавать 06.08.01 23:33  
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я пробывал класс в потоке создавать и создавать отдельно от потока но ничего не получалось.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach