Browse Source

fixed allocate node failed issue.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1694 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong@gmail.com 13 years ago
parent
commit
446db862dd
2 changed files with 11 additions and 2 deletions
  1. 10 1
      components/finsh/cmd.c
  2. 1 1
      components/finsh/finsh_parser.c

+ 10 - 1
components/finsh/cmd.c

@@ -164,7 +164,16 @@ static long _list_event(struct rt_list_node *list)
 	for (node = list->next; node != list; node = node->next)
 	for (node = list->next; node != list; node = node->next)
 	{
 	{
 		e = (struct rt_event*)(rt_list_entry(node, struct rt_object, list));
 		e = (struct rt_event*)(rt_list_entry(node, struct rt_object, list));
-		rt_kprintf("%-8s  0x%08x %03d\n", e->parent.parent.name, e->set, rt_list_len(&e->parent.suspend_thread));
+		if( !rt_list_isempty(&e->parent.suspend_thread) )
+		{
+			rt_kprintf("%-8s  0x%08x %03d\n", e->parent.parent.name, e->set, rt_list_len(&e->parent.suspend_thread));
+			show_wait_queue(&(e->parent.suspend_thread));
+			rt_kprintf("\n");
+		}
+		else
+		{
+			rt_kprintf("%-8s  0x%08x 0\n", e->parent.parent.name, e->set);
+		}
 	}
 	}
 
 
 	return 0;
 	return 0;

+ 1 - 1
components/finsh/finsh_parser.c

@@ -884,7 +884,7 @@ static struct finsh_node* make_sys_node(u_char type, struct finsh_node* node1, s
 
 
 	node = finsh_node_allocate(type);
 	node = finsh_node_allocate(type);
 
 
-	if (node1 != NULL)
+	if ((node1 != NULL) && (node != NULL))
 	{
 	{
 		finsh_node_child(node) = node1;
 		finsh_node_child(node) = node1;
 		finsh_node_sibling(node1) = node2;
 		finsh_node_sibling(node1) = node2;