Revision b85b6b26 core/src/aos_rtcan.c

View differences:

core/src/aos_rtcan.c
87 87
void pushRTCanMsg(rtcan_msg_t *msg,msgqueue_t* msgqueue){
88 88
  if(msg != NULL){
89 89
    if(msgqueueEmpty(msgqueue)){
90
        msgqueue->head = msg;
91
        msgqueue->tail= msg;
92
        msg->next = NULL;
90
        queueInit(msg,msgqueue);
93 91
        return;
94 92
    }
95 93
    //todo special case handling
96 94
    if(msgqueue->tail != NULL){
97 95
      if(msg->msgType == 10){
98
          if(pushRTCanMsgSorted(msg,msgqueue) == true){
99
              return;
100
          };
96
        if(pushRTCanMsgSorted(msg,msgqueue) == true){
97
            return;
98
        }
101 99
      }
102 100
      msgqueue->tail->next = msg;
103 101
      msg->next = NULL;
......
122 120
/*
123 121
 * @brief init Message Queue
124 122
 */
125
void queueInit(rtcan_msg_t *head){
126
  head->next = head;
123
void queueInit(rtcan_msg_t *head,msgqueue_t* msgqueue){
124
  msgqueue->size = 0;
125
  msgqueue->head = head;
126
  msgqueue->tail = head;
127
  head->next = NULL;
128
  msgqueue->size++;
127 129
}
128 130

  
129 131
/**

Also available in: Unified diff