[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/tosthreads/system StaticThreadP.nc, 1.2, 1.3

Chieh-Jan Mike Liang liang_mike at users.sourceforge.net
Mon Jan 5 16:29:06 PST 2009


Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/tosthreads/system
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv3945

Modified Files:
	StaticThreadP.nc 
Log Message:
Fix a static thread problem on MicaZ by making sure the execution order of ThreadInfo.reset[id]() and 
ThreadScheduler.initThread(id)


Index: StaticThreadP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/tosthreads/system/StaticThreadP.nc,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** StaticThreadP.nc	6 Oct 2008 04:40:02 -0000	1.2
--- StaticThreadP.nc	6 Jan 2009 00:29:04 -0000	1.3
***************
*** 51,59 ****
  
    error_t init(uint8_t id, void* arg) {
      thread_t* thread_info = call ThreadInfo.get[id]();
      thread_info->start_arg_ptr = arg; 
      thread_info->mutex_count = 0;
      thread_info->next_thread = NULL;
!     return ecombine(call ThreadInfo.reset[id](), call ThreadScheduler.initThread(id));
    }
    
--- 51,62 ----
  
    error_t init(uint8_t id, void* arg) {
+     error_t r1, r2;
      thread_t* thread_info = call ThreadInfo.get[id]();
      thread_info->start_arg_ptr = arg; 
      thread_info->mutex_count = 0;
      thread_info->next_thread = NULL;
!     r1 = call ThreadInfo.reset[id]();
!     r2 = call ThreadScheduler.initThread(id);
!     return ecombine(r1, r2);
    }
    



More information about the Tinyos-2-commits mailing list