add: sockopt = 1;
context: int netcat_socket_new(int domain, int type){  int sock, ret, sockopt = 0;  struct linger fix_ling;  sock = socket(domain, type, 0);  if (sock < 0)    return -1;  /* don't leave the socket in a TIME_WAIT state if we close the connection */  fix_ling.l_onoff = 1;  fix_ling.l_linger = 0;  ret = setsockopt(sock, SOL_SOCKET, SO_LINGER, &fix_ling, sizeof(fix_ling));  if (ret < 0) {    close(sock);    return -2;  }  /* fix the socket options */  ret = setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &sockopt, sizeof(sockopt));  if (ret < 0) {    close(sock);		/* anyway the socket was created */    return -2;  }  return sock;}