Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.14;
Скачать: CL | DM;

Вниз

(Berkeley-style sockets) теория   Найти похожие ветки 

 
GanibalLector ©   (2006-01-21 18:37) [0]

Предположим сервер выполнил Accept для нового клиента и создал поток.Рано или поздно поток завершится и (по всем правилам) я должен выполнить CloseHandle. И как быть... создавать еще один поток,который будет отслеживать смерть потоков и  вызывать CloseHandle ???

И еще,предположим я хочу передать некоторую структуру в создаваемый поток. Делаю так :

type
 TMode=record
  Sock:Cardinal;
  Addr:TSockAddr;
 end;
 PMode = ^TMode;
...
var Val:PMode;
begin
 ...
 GetMem(Val,SizeOf(TMode));
 Val.Sock:=AcceptedSock;
 Val.Addr:=Addr;
 BeginThread(nil,0,@ProcessSockEvents,PMode(Val),0,ThId);
 //FreeMem(Val)

Опять таки,если не сделать FreeMem(Val),то  будет утечка.Если сделать,то будет еще большая беда. Как быть?


 
GuAV ©   (2006-01-21 19:08) [1]


> Рано или поздно поток завершится и (по всем правилам)
> я должен выполнить CloseHandle.

CloseHandle чего ? потока ?  
Если тебе не нужен хендл потока, закрывай этот хендл сразу - делов... Типа CloseHandle(BeginThread( ...
Если где-то сохраняешь, то оттуда и закрывай.


>  
> BeginThread(nil,0,@ProcessSockEvents,PMode(Val),0,ThId)
>;
> //FreeMem(Val)
>
> Опять таки,если не сделать FreeMem(Val),то  будет
> утечка.Если сделать,то будет еще большая беда. Как
> быть?

Освобождать в том потоке. После вызова BeginThread менеджер памяти гарантированно будет в потокобезопасном режиме, а если не был бы то и из своего потока освобождать не было бы безопасно.

Только при чём тут сабж и конференция Сети ?


 
GanibalLector ©   (2006-01-21 19:33) [2]

2 GuAV ©   (21.01.06 19:08) [1]
Спасибо!
>при чём тут сабж и конференция Сети ?
Бывает ;)

И еще. Как известно ф-ции Send,Recv  имеют 3 параметра. Меня,собственно,интересует третий. Т.е флаг установленный в MSG_OOB. Изменится ли при этом скорость приема\передачи, если по пути следования пакета имеется некоторое оборудование(свичи,хабы). Более того,в некоторых литературных источниках и конференциях настоятельно рекомендуют ВОЗДЕРЖАТЬСЯ от использования MSG_OOB. Как быть?



Страницы: 1 вся ветка

Текущий архив: 2006.05.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
9-1129620790
greg123
2005-10-18 11:33
2006.05.14
Помогите создать алгоритм генерации случайных чисел


2-1144927041
konrads
2006-04-13 15:17
2006.05.14
UNICODE


3-1142621927
Megabyte
2006-03-17 21:58
2006.05.14
Как мне узнать, есть ли у юзера права на данную роль


15-1145504038
antonn
2006-04-20 07:33
2006.05.14
про копирайты


1-1144096594
Antip
2006-04-04 00:36
2006.05.14
Как грамотно и быстро узнать на каком монике форма?