¿Tiempo de espera fácil para un CFWriteStreamWrite / CFReadStreamWriter?

Trabajar en CFStreamCreatePairWithSocketToHost siempre es conveniente:

 CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (CFStringRef) hostnameOrIp, aPort, &readStream, &writeStream); 

ya que te lleva los productos (ar y w pipe) de inmediato. Desgraciadamente, CFReadStreamRead y CFWriteStreamRead bloquean. ¿Hay una manera limpia de establecer el time de espera en esto (por ejemplo, con una opción de transmisión)? Se están ejecutando en un subprocess, y como hay bastantes en paralelo, quisiera evitar runloop / señales, ya que ninguna otra lectura / escritura pendiente debería interrumpirse).

Gracias,

Dw.

Puede usar CFReadStreamHasBytesAvailable para verificar si hay algo disponible. Si es así, CFReadStreamRead no bloqueará. O puede configurar el cliente ( CFReadStreamSetClient ) y escuchar las notifications ( kCFStreamEventHasBytesAvailable en su caso).