This causes some CPU spinning, so it'd be nice if we could figure a way for the kernel to wake us up when new data is ready.