aboutsummaryrefslogtreecommitdiff
path: root/src/testing/bindok.c
blob: a4b74e7a022f0b6a20370453c7ccd8c70f7f0204 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "platform.h"

int main()
{
  uint16_t port = 12035;
  int sock1;
  int sock2;
  struct sockaddr_in addr;

  (void) memset (&addr, 0, sizeof (struct sockaddr_in));
  sock1 = socket (AF_INET, SOCK_DGRAM, 0);
  sock2 = socket (AF_INET, SOCK_DGRAM, 0);

  addr.sin_port = htons (port);
  addr.sin_addr.s_addr = INADDR_ANY;
  
  if (0 != bind (sock1, (const struct sockaddr *) &addr, sizeof (addr)))
  {
    perror ("bind");
    return 1;
  }
  if (0 != bind (sock2, (const struct sockaddr *) &addr, sizeof (addr)))
  {
    printf ("All OK\n");
    return 0;
  }
  fprintf (stderr, "Second bind succeeded! WTF!!\n");
  fgetc (stdin);
  return 1;
}