Changeset 231 for PinConnection/UCommThread.pas
- Timestamp:
- Apr 14, 2011, 12:47:57 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
PinConnection/UCommThread.pas
r222 r231 7 7 uses 8 8 Classes, SysUtils, blcksock, UCommPin, SyncObjs, UStreamHelper, UCommon, 9 UMicroThreading, DateUtils;9 DateUtils, UThreading; 10 10 11 11 type … … 16 16 { TCommThreadReceiveThread } 17 17 18 TCommThreadReceiveThread = class(T MicroThread)18 TCommThreadReceiveThread = class(TListedThread) 19 19 public 20 20 Parent: TCommThread; … … 34 34 FReceiveThread: TCommThreadReceiveThread; 35 35 FInputBuffer: TMemoryStream; 36 FInputBufferLock: T MicroThreadCriticalSection;37 FDataAvailable: T MicroThreadEvent;36 FInputBufferLock: TCriticalSection; 37 FDataAvailable: TEvent; 38 38 procedure ReceiveData(Sender: TCommPin; Stream: TStream); 39 39 procedure ExtReceiveData(Sender: TCommPin; Stream: TStream); … … 93 93 inherited Create; 94 94 FInputBuffer := TMemoryStream.Create; 95 FInputBufferLock := T MicroThreadCriticalSection.Create;95 FInputBufferLock := TCriticalSection.Create; 96 96 Ext := TCommPin.Create; 97 97 Ext.OnReceive := ExtReceiveData; 98 98 Pin := TCommPin.Create; 99 99 Pin.OnReceive := ReceiveData; 100 FDataAvailable := T MicroThreadEvent.Create;100 FDataAvailable := TSimpleEvent.Create; 101 101 end; 102 102 … … 122 122 with Parent do 123 123 repeat 124 if FDataAvailable.WaitFor(1 * OneMillisecond) = wrSignaled then begin124 if FDataAvailable.WaitFor(1) = wrSignaled then begin 125 125 try 126 126 FInputBufferLock.Acquire; … … 132 132 FInputBufferLock.Release; 133 133 end; 134 end else Yield;134 end; // else Yield; 135 135 until Terminated; 136 136 finally
Note:
See TracChangeset
for help on using the changeset viewer.