я ваще так подумал, проще будет при отправке суспендить поток, а резумить тока по ответу от сервера, но блин, поток не резумится, крт. секции не робят, мутекс не робит, ваще хрень какая-то)
delphi Код:
procedure TPipeClient.Answer;
begin
ReleaseMutex(hMutex);
end;
procedure TPipeClient.Send(buf:string);
var
rc:boolean;
begin
//if not FConnected then exit;
rc:=WriteFile (hPipe, pointer(buf)^, Length(buf), bytesWritten, @OverLapWrt);
if not rc then
if GetLastError = ERROR_IO_PENDING then
WaitForSingleObject (hEventWrt, INFINITE)
else FConnected:=false;
hMutex:=CreateMutex(nil, true, 'SendMutex');
if GetLastError = ERROR_ALREADY_EXISTS then
WaitForSingleObject (hMutex, INFINITE);
end;
это это не робит, ему пох! он нече не ждет никакие мюьтексы!
Добавлено через 1 час 12 минут
пасаны, че я не так делаю)
Добавлено через 12 минут
ыы, семафор робит))