source:
MicroThreading/Patch/FPC 2.5.3.patch
Last change on this file was 225, checked in by , 14 years ago | |
---|---|
File size: 2.0 KB |
-
rtl/inc/except.inc
26 26 cFinalizeFrame = 2; 27 27 28 28 Type 29 PExceptAddr = ^TExceptAddr;30 TExceptAddr = record31 buf : pjmp_buf;32 next : PExceptAddr;33 frametype : Longint;34 end;35 29 36 30 TExceptObjectClass = Class of TObject; 37 31 … … 48 42 end; 49 43 50 44 45 // Used for microthreading context switching 46 47 Function GetExceptionAddrStack : PExceptAddr; 48 begin 49 Result := ExceptAddrStack; 50 end; 51 52 Function GetExceptionObjectStack : PExceptObject; 53 begin 54 Result := ExceptObjectStack; 55 end; 56 57 procedure SetExceptionAddrStack(Value : PExceptAddr); 58 begin 59 ExceptAddrStack := Value; 60 end; 61 62 procedure SetExceptionObjectStack(Value : PExceptObject); 63 begin 64 ExceptObjectStack := Value; 65 end; 66 67 51 68 function AcquireExceptionObject: Pointer; 52 69 var 53 70 _ExceptObjectStack : PExceptObject; -
rtl/inc/objpash.inc
333 333 Framecount : Longint; 334 334 Frames : PPointer; 335 335 end; 336 337 PExceptAddr = ^TExceptAddr; 338 TExceptAddr = record 339 buf : pjmp_buf; 340 next : PExceptAddr; 341 frametype : Longint; 342 end; 336 343 337 344 Const 338 345 ExceptProc : TExceptProc = Nil; … … 341 348 342 349 Function RaiseList : PExceptObject; 343 350 351 // Used for microthreading context switching 352 Function GetExceptionAddrStack : PExceptAddr; 353 Function GetExceptionObjectStack : PExceptObject; 354 procedure SetExceptionAddrStack(Value : PExceptAddr); 355 procedure SetExceptionObjectStack(Value : PExceptObject); 356 344 357 { @abstract(increase exception reference count) 345 358 When leaving an except block, the exception object is normally 346 359 freed automatically. To avoid this, call this function.
Note:
See TracBrowser
for help on using the repository browser.