// FIXME - this is going to create too many threads on a system with lots of drives.
   //         Need to use a single thread to do this for all drives
   void run( void )
   {
      while( 1 )
      {
         const Error *err = sem.Get();
         if( err )
         {
            sleep( 10 );
            continue;
         }

         for( int i=0; i<axisCt; i++ )
         {
            RefObjLocker<Amp> ampPtr( ampRef[i] );
            if( ampPtr )
               ampPtr->PvtStatusUpdate( newStat[i] );
         }
      }
   }