IdTestSocketHandle.pas 602 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. unit IdTestSocketHandle;
  2. interface
  3. uses
  4. IdSocketHandle,
  5. IdStack,
  6. IdTest,
  7. IdSys;
  8. type
  9. TIdTestSocketHandle = class(TIdTest)
  10. published
  11. procedure TestSocketFree;
  12. end;
  13. implementation
  14. procedure TIdTestSocketHandle.TestSocketFree;
  15. //used to be a bug with incorrect freeing critical section, then using it.
  16. var
  17. s:TIdSocketHandle;
  18. begin
  19. TIdStack.IncUsage;
  20. s:=TIdSocketHandle.Create(nil);
  21. try
  22. s.AllocateSocket;
  23. finally
  24. Sys.FreeAndNil(s);
  25. TIdStack.DecUsage;
  26. end;
  27. end;
  28. initialization
  29. TIdTest.RegisterTest(TIdTestSocketHandle);
  30. end.