Revision: 7222
          http://playerstage.svn.sourceforge.net/playerstage/?rev=7222&view=rev
Author:   thjc
Date:     2009-01-02 20:56:14 +0000 (Fri, 02 Jan 2009)

Log Message:
-----------
change register function to have correct case for eedhcontroller, fixed its 
shutdown/mainquit method for threaded driver, changed main loop to wait for 
messages

Modified Paths:
--------------
    code/player/trunk/server/drivers/limb/eeDHcontroller.cc

Modified: code/player/trunk/server/drivers/limb/eeDHcontroller.cc
===================================================================
--- code/player/trunk/server/drivers/limb/eeDHcontroller.cc     2009-01-02 
20:42:04 UTC (rev 7221)
+++ code/player/trunk/server/drivers/limb/eeDHcontroller.cc     2009-01-02 
20:56:14 UTC (rev 7222)
@@ -145,7 +145,7 @@
 
     // Implementations of virtual functions
     virtual int MainSetup ();
-    virtual int Shutdown ();
+    virtual void MainQuit ();
 
     // This method will be invoked on each incoming message
     virtual int ProcessMessage (QueuePointer &resp_queue,
@@ -215,7 +215,7 @@
 // Registers the driver in the driver table. Called from the
 // player_driver_init function that the loader looks for
 void
-  EEDHController_Register (DriverTable* table)
+  eedhcontroller_Register (DriverTable* table)
 {
   table->AddDriver ("eeDHcontroller", EEDHController_Init);
 }
@@ -309,19 +309,15 @@
 
 
////////////////////////////////////////////////////////////////////////////////
 // Shutdown the device
-int
-  EEDHController::Shutdown ()
+void
+  EEDHController::MainQuit ()
 {
-  // Stop the driver thread
-  StopThread ();
-
   pthread_cancel (a_th_cmd);
   pthread_cancel (a_th_home);
 
   this->actarray_device->Unsubscribe (this->InQueue);
 
   PLAYER_MSG0 (1, "> EEDHController driver shutting down... [done]");
-  return (0);
 }
 
 
@@ -330,23 +326,18 @@
 void
   EEDHController::Main ()
 {
-  timespec sleepTime = {0, 1000};
-
   command_thread = homing_thread = false;
 
   // The main loop; interact with the device here
   while (true)
   {
-    // test if we are supposed to cancel
-    pthread_testcancel ();
+    Wait();
 
     // Process any pending messages
     this->ProcessMessages ();
 
     // Refresh data
     this->RefreshData ();
-
-    nanosleep (&sleepTime, NULL);
   }
 }
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
_______________________________________________
Playerstage-commit mailing list
Playerstage-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to