>  $bg_print_thread = Thread.new { loop{ $errlog.log("bg_print_thread"); sleep(0.1) } }
>  $bg_print_thread.priority = 10
> 
> Every 0.1 seconds that should be printing to the log file, but the
> whole process is getting blocked.
> 
> With strace, it's always a poll() statement showing on screen when
> the process blocks, similar to:
> 
> 22:09:44.551462 poll([{fd=14, events=POLLIN}], 1, 5000) = 0
> 
> Apparently that's a 5 second (5000 msec) delay?  How can I find where
> that's coming from?

Note, when I remove the UDP socket I/O entirely, the problem seems
to disappear.

(I'm aware of the select/recvfrom UDP bad checksum blocking problem,
but that doesn't seem to be what's happening here.)


Regards,

Bill