Frank Sorenson wrote:
How about opening the fifo read/write, which doesn't block: # exec 4<> dave_fifo # ls -alF /proc/$$/fd ... lrwx------ 1 sorenson sorenson 64 2009-04-09 18:14 4 -> /tmp/dave_fifo|Here's an example script: #!/bin/bash exec 4<> /tmp/dave_fifo (sleep 2 ; kill -SIGUSR1 $$ ; echo "I'm alive" >&4) & # Wait for the flag to get raised, or give up after a while: read -t 5 -u 4 line if [ $? -eq 0 ] ; then echo "The child said: $line" else echo "Timed out waiting for child" fi
Interesting idea. Doesn't this block my daemon process (a separate piece of C code) from opening the fifo for writing as well? My bash script reads from the fifo, but the C program writes to it (and is responsible for opening it for writing).
--Dave /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
