job.threading.pas 684 B

123456789101112131415161718192021222324252627282930313233
  1. {$IFNDEF FPC_DOTTEDUNITS}
  2. unit job.threading;
  3. {$ENDIF}
  4. {$mode ObjFPC}{$H+}
  5. interface
  6. uses
  7. {$IFDEF FPC_DOTTEDUNITS}
  8. Wasm.Job.Js, Wasm.Job.Shared;
  9. {$ELSE}
  10. job.js, job.shared;
  11. {$ENDIF}
  12. // imported functions from browser
  13. function __job_share_object(
  14. ObjID: TJOBObjectID; // Object to share
  15. ThreadID: TThreadID // Thread to share with. Set to 0 to share with all objects
  16. ): TJOBResult; external JOBExportName name JOBFn_ShareObject;
  17. implementation
  18. Procedure ShareJobObject(aObjID: TJOBObjectID; aThreadID: TThreadID; out aResult: TJOBResult);
  19. begin
  20. aResult:=__job_share_object(aObjId,aThreadId);
  21. end;
  22. initialization
  23. JobShareObjectCallBack:=@ShareJobObject;
  24. end.