Prova ad azzerare il campo tv_usec della struttura se non ti interessa impostarne un valore. Inoltre, quanto vale var_socket_timeout? E perché quel cast (char *) per il quarto argomento della funzione?