HttpURLConnection.setConnectTimeout não está funcionando

Olá, pessoal!!

Eu tenho um aplicativo para Android que conecta em um servidor em busca de atualizações.
Eu preciso conectar neste servidor para buscar informações e, caso o servidor demore pra responder (+500 ms), eu preciso cair fora do meu método e continuar com o programa normalmente.

Eu já setei o readTimeout e o connectTimeout pra 500 ms, mas mesmo assim o meu método tá demorando cerca de 30 segundos só nesta linha: c.connect();

Este é meu código:

    HttpURLConnection c = (HttpURLConnection) updateUrl.openConnection();
    c.setConnectTimeout(500);
    c.setReadTimeout(500);
    c.setRequestMethod("GET");
    c.setDoOutput(true);
    c.connect();  // O programa fica travado nesta linha

O que eu preciso fazer pra ele não demorar tanto?

Obrigada!