> $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