Salve!

Ho il seguente assurdo problema: nel mio programma dentro un ciclo while faccio inserire all'utente delle stringhe (dei nomi). Il ciclo e' terminato quando si legge 'quit'. Il problema e' pero' il seguente: la chiamata con cui leggo da stdinput non e' bloccante! O meglio, lo diventa alla seconda iterazione del ciclo.
Posto un po' di codice cosi' si capisce meglio:

codice:
while (1):

                  print "Insert name (or \"quit\" to exit program)"
                  name = sys.stdin.readline().rstrip()
E l'output quindi diventa:
Insert name
Insert name
*attesa dell'input*
Ho inserito una gestione dell'errore nel caso non si leggano nomi validi e con un po' di tracing si vede chiaramente come alla prima iterazione si legga la stringa vuota e si entri nella gestione dell'errore (che non fa altro che un continue per tornare a chiedere il nome). Solo alla seconda iterazione il programma si ferma in attesa dell'input dell'utente.

Com'e' possibile? E' tutta la mattina che cerco in giro per il web e ho trovato solo persone col problema opposto, ovvero che vorrebbero la readline non blocking e non ci riescono..

Qualcuno ha qualche idea in proposito? Grazie mille!