drivers/win32/win32.c
changeset 629 b9274b595650
parent 600 7767029937aa
child 638 00bc03cb5606
equal deleted inserted replaced
628:9e496a2aadca 629:b9274b595650
   188 	{
   188 	{
   189 	  ((CANPort*)d->canHandle)->used = 0;
   189 	  ((CANPort*)d->canHandle)->used = 0;
   190 	}
   190 	}
   191 
   191 
   192 	tmp = (CANPort*)d->canHandle;
   192 	tmp = (CANPort*)d->canHandle;
   193 	d->canHandle = NULL;
       
   194 
   193 
   195 	if(tmp)
   194 	if(tmp)
   196 	{
   195 	{
       
   196 	  // kill receiver task before port is closed and handle set to NULL
       
   197 	  WaitReceiveTaskEnd(&tmp->receiveTask);
       
   198 
   197 	  // close CAN port
   199 	  // close CAN port
   198 	  res = m_canClose(tmp->fd);
   200 	  res = m_canClose(tmp->fd);
   199 
   201 	}
   200 	  // kill receiver task
   202 
   201 	  WaitReceiveTaskEnd(&tmp->receiveTask);
   203 	d->canHandle = NULL;
   202 	}
   204 
   203 	return res;
   205 	return res;
   204 }
   206 }
   205 
   207 
   206 UNS8 canChangeBaudRate(CAN_PORT port, char* baud)
   208 UNS8 canChangeBaudRate(CAN_PORT port, char* baud)
   207 {
   209 {