Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Многопроцессорная система / 19 сообщений из 19, страница 1 из 1
02.07.2003, 11:22
    #32196990
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Господа!!! А не встречался ли кто ни будь с такой ситуацией: при переносе программ на многопроцессорную машину они отказываются работать. Операционка одна и та же Win2000 Server ServisPak3. Пишу на Delphi6. Анализ работы показал что клинит на функциях WINAPI, типа WaitForSingleObject.
...
Рейтинг: 0 / 0
02.07.2003, 11:38
    #32197033
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
А чё за исключение?
...
Рейтинг: 0 / 0
02.07.2003, 12:18
    #32197099
duha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
а чего ожидаешь?
треды в программе есть?
...
Рейтинг: 0 / 0
02.07.2003, 14:10
    #32197310
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Исключения ни какого не вылетает. Просто виснет все глухо.
А делаю я следующее из одной программы запускаю другую и жду пока она закончит работать. Вторая программа запускается, отрабатывает а первая зависает.
...
Рейтинг: 0 / 0
02.07.2003, 16:51
    #32197550
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Hyperthreading отключен?
...
Рейтинг: 0 / 0
02.07.2003, 17:16
    #32197598
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
А причем здесь Hyperthreading!?
...
Рейтинг: 0 / 0
02.07.2003, 17:30
    #32197625
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Может ты вместо мютексов критические разделы создаёшь? Проверь там внимательно ...
...
Рейтинг: 0 / 0
02.07.2003, 17:55
    #32197668
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Hyperthreading при том, что Windows 2000 его не поддерживает и нужно выключать. Как оно, это неподдержание, проявляется - а может вот так оно и проявляется при гонке потоков с синхронизацией по WaitForSingleObject?
...
Рейтинг: 0 / 0
02.07.2003, 18:41
    #32197730
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
не гри чушь плиазе ... у нас юзается и не один комп с гипером - ниодной баги как на 2000 серверах так и на ворсктейшенах .... единственный гемор - под xp дрова не становятся... т.к. нужно накатывать первый сервис пак... коего нету ...
...
Рейтинг: 0 / 0
03.07.2003, 06:40
    #32197890
Дмитрий Мыльников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
А фагментик кода можно? По ощущениям как-то не так "ожидает завершение программы". То есть, каким образом запускающая программа узнёт о том, что вторая программа звершилась?
...
Рейтинг: 0 / 0
03.07.2003, 08:35
    #32197930
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Выглядит это примерно так:

Var
Inf: TSTARTUPINFO;
PrInf: TPROCESSINFORMATION;
Proc: boolean;
Begin
FillChar(Inf,Sizeof(Inf),#0);
Inf.cb:=Sizeof(Inf);
Inf.dwFlags:=STARTF_USESHOWWINDOW;
Inf.wShowWindow:=SW_ShowMinimized;
Proc:=CreateProcess(nil,PChar(‘C:\1\1.exe’),nil,nil,false,CREATE_SHARED_WOW_VDM or NORMAL_PRIORITY_CLASS,
nil,nil,Inf,PrInf);
IF Proc then WaitForSingleObject(PrInf.hProcess, INFINITE);
…….

End;
...
Рейтинг: 0 / 0
03.07.2003, 09:36
    #32197986
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
не гри чушь плиазе ...

Ну, тогда внимательно и вдумчиво вчитываемся:
http://www.intel.com/support/platform/ht/os.htm
...
Рейтинг: 0 / 0
03.07.2003, 09:41
    #32197996
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Надо:
Proc объявить как LongBool и после строки "Proc:=CreateProcess...." поместить строку "Win32Check(Proc)". Это даст возможность определить, случилась ли ошибка при вызове CreateProcess.
...
Рейтинг: 0 / 0
03.07.2003, 10:13
    #32198045
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
> Dankov
ну что ты херню то мелишь!?!!!
ну чтобы виндовая функция вешала винды - ето ис мастдаев 9x
ну бля с тобой супер адвансед и продвинуто спорить нихера не хочу - клаву жалко! как гипер заюзал супер и пупер гипером стал
...
Рейтинг: 0 / 0
03.07.2003, 10:16
    #32198048
KirillovA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
> Dankov
и вааще - интел уже х.еву тучу заплаток и дров понаписал под кучу осов ...
...
Рейтинг: 0 / 0
03.07.2003, 10:19
    #32198051
Sergmal
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Ошибки при вызове CreateProcess нет. Да я и глазами вижу, что вторая программа запускается.
...
Рейтинг: 0 / 0
03.07.2003, 11:00
    #32198117
Дмитрий Мыльников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
В принципе я у себя делал точно так же с CreateProcess и WaitForSingleObject, но с небольшим отличием

WaitForSingleObject(ProcInfo.hThread,60000);

то есть, проверял не hProc, а hThread. Но на мультипроцессорной системе не проверял. Кстати, поменял, насколько помню, hProc на hThread как раз потому, что у меня WaitForSingleObject "зависал". Правда потом оказалось, что в моём случае это было не зависание, а просто программка запускалась как дочерняя нитка основной программы, то есть hProc был от главной программы, а она, естественно, не завершалась :).

Возможно, что в вашем случае происходит что-то похожее.
...
Рейтинг: 0 / 0
03.07.2003, 11:03
    #32198119
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Тогда попробуй строку с экзешником поместить в первый параметр, а не во второй.
...
Рейтинг: 0 / 0
03.07.2003, 11:05
    #32198124
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Многопроцессорная система
Да, кстати. Может быть, получается хендл от WOW, а не от приложения. В этом случае WOW может и не завершиться после завершения 16-битной программы (а иначе зачем WOW?)
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Многопроцессорная система / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]