Ignore:
Timestamp:
Feb 8, 2011, 11:02:02 AM (14 years ago)
Author:
george
Message:
Location:
PinConnection
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • PinConnection

    • Property svn:ignore
      •  

        old new  
        11lib
         2backup
  • PinConnection/UCommThread.pas

    r129 r163  
    66
    77uses
    8   Classes, SysUtils, blcksock, UCommPin, SyncObjs, UStreamHelper, UCommon;
     8  Classes, SysUtils, blcksock, UCommPin, SyncObjs, UStreamHelper, UCommon,
     9  UMicroThreading, DateUtils;
    910
    1011type
     
    1516  { TCommThreadReceiveThread }
    1617
    17   TCommThreadReceiveThread = class(TThread)
     18  TCommThreadReceiveThread = class(TMicroThread)
    1819  public
    1920    Parent: TCommThread;
     
    3334    FReceiveThread: TCommThreadReceiveThread;
    3435    FInputBuffer: TMemoryStream;
    35     FInputBufferLock: TCriticalSection;
    36     FDataAvailable: TEvent;
     36    FInputBufferLock: TMicroThreadCriticalSection;
     37    FDataAvailable: TMicroThreadEvent;
    3738    procedure ReceiveData(Sender: TCommPin; Stream: TStream);
    3839    procedure ExtReceiveData(Sender: TCommPin; Stream: TStream);
     
    9192  inherited Create;
    9293  FInputBuffer := TMemoryStream.Create;
    93   FInputBufferLock := TCriticalSection.Create;
     94  FInputBufferLock := TMicroThreadCriticalSection.Create;
    9495  Ext := TCommPin.Create;
    9596  Ext.OnReceive := ExtReceiveData;
    9697  Pin := TCommPin.Create;
    9798  Pin.OnReceive := ReceiveData;
    98   FDataAvailable := TEvent.Create(nil, False, False, '');
     99  FDataAvailable := TMicroThreadEvent.Create;
    99100end;
    100101
     
    119120    StreamHelper := TStreamHelper.Create(Stream);
    120121  with Parent do repeat
    121     try
    122       if FDataAvailable.WaitFor(1) = wrSignaled then try
     122      if FDataAvailable.WaitFor(1 * OneMillisecond) = wrSignaled then try
    123123        FInputBufferLock.Acquire;
    124124        Stream.Size := 0;
     
    129129        FInputBufferLock.Release;
    130130      end;
    131     except
    132       on E: Exception do
    133         if Assigned(ExceptionHandler) then ExceptionHandler(Self, E);
    134     end;
     131      Yield;
    135132  until Terminated;
    136133
Note: See TracChangeset for help on using the changeset viewer.