#include <stdio.h>
#include <signal.h>

#include <netinet/in.h>
#include <sys/socket.h>

main() {
  int fd, i;
  struct sockaddr_in sin;
  FILE *f;
  char buf[8192];

  signal(SIGPIPE, SIG_IGN);

  fd = socket(AF_INET, SOCK_STREAM, 0);
  if (fd < 0)
    perror("creating socket");

  sin.sin_family = AF_INET;
  sin.sin_addr.s_addr = htonl(0x7f000001);
  sin.sin_port = htons(12345);

  /* Expect to fail; we just want a disconnected valid fd */
  connect(fd, (struct sockaddr *)&sin, sizeof(sin));

  f = fdopen(fd, "w");

  for (i=0; i<8192; i++) buf[i]='A';
  buf[8191]='\0';

  fprintf(f, "%s\n", buf);
  fprintf(f, "%s\n", buf);
}
