{code}
 #!/bin/sh
 
-
 CONDOR_CHIRP=`condor_config_val LIBEXEC`/condor_chirp
 
+get_job_attr_blocking() {
+    while /bin/true
+    do
+        JobServerAddress=`$CONDOR_CHIRP get_job_attr $1`
+        if [ $? -ne 0 ]; then
+            echo "Chirp is broken!" 1>&2
+            exit 1
+        fi
+        if [ "$JobServerAddress" != "UNDEFINED" ]; then
+            echo "$JobServerAddress"
+            exit 0
+        fi
+        sleep 2
+    done
+}
+
 if [[ $_CONDOR_PROCNO = "0" ]]
 then
-    # I'm the server
     $CONDOR_CHIRP set_job_attr JobServerAddress '"This is my address"'
 
-    # Do server things here...
-    sleep 3600
+    # Do other server things here...
+    sleep 60
     exit 0
 fi
 
 
 if [[ $_CONDOR_PROCNO = "1" ]]
 then
-    # I'm the client
-    until $CONDOR_CHIRP get_job_attr JobServerAddress > /dev/null 2>&1
-    do
-        sleep 2
-    done
-
-    JobServerAddress=`$CONDOR_CHIRP get_job_attr JobServerAddress`
+    JobServerAddress=`get_job_attr_blocking JobServerAddress`
+    if [ $? -ne 0 ]; then
+        echo "Chirp is broken"
+        exit 1
+    fi
 
     # I've got the address, do client things here like connect to the server..
     echo "JobServerAddress is $JobServerAddress"