init.cpp 685 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "init.h"
  2. #include <util/system/compat.h>
  3. #include <util/system/yassert.h>
  4. #include <util/system/defaults.h>
  5. #include <util/generic/singleton.h>
  6. #include <cstdio>
  7. #include <cstdlib>
  8. namespace {
  9. class TNetworkInit {
  10. public:
  11. inline TNetworkInit() {
  12. #ifndef ROBOT_SIGPIPE
  13. signal(SIGPIPE, SIG_IGN);
  14. #endif
  15. #if defined(_win_)
  16. #pragma comment(lib, "ws2_32.lib")
  17. WSADATA wsaData;
  18. int result = WSAStartup(MAKEWORD(2, 2), &wsaData);
  19. Y_ASSERT(!result);
  20. if (result) {
  21. exit(-1);
  22. }
  23. #endif
  24. }
  25. };
  26. }
  27. void InitNetworkSubSystem() {
  28. (void)Singleton<TNetworkInit>();
  29. }