">

PostgreSQL Source Code: src/port/noblock.c File Reference (original) (raw)

#include "[c.h](c%5F8h%5Fsource.html)"
#include <fcntl.h>

Go to the source code of this file.

pg_set_block()

Definition at line 49 of file noblock.c.

50{

51#if !defined(WIN32)

52 int flags;

53

54 flags = fcntl(sock, F_GETFL);

55 if (flags < 0)

56 return false;

57 if (fcntl(sock, F_SETFL, (flags & ~O_NONBLOCK)) == -1)

58 return false;

59 return true;

60#else

61 unsigned long ioctlsocket_ret = 0;

62

63

64 return (ioctlsocket(sock, FIONBIO, &ioctlsocket_ret) == 0);

65#endif

66}

pg_set_noblock()

Definition at line 25 of file noblock.c.

26{

27#if !defined(WIN32)

28 int flags;

29

30 flags = fcntl(sock, F_GETFL);

31 if (flags < 0)

32 return false;

33 if (fcntl(sock, F_SETFL, (flags | O_NONBLOCK)) == -1)

34 return false;

35 return true;

36#else

37 unsigned long ioctlsocket_ret = 1;

38

39

40 return (ioctlsocket(sock, FIONBIO, &ioctlsocket_ret) == 0);

41#endif

42}

Referenced by pq_init(), PQconnectPoll(), and report_fork_failure_to_client().