init: Fix init spinning once init.rc is complete

When the init process ran out of actions to execute, cur_action was
NULL and action_queue_empty() was true, but cur_command was still
set.  This patch clears cur_command when a new action is retreived,
and only depends on cur_action and action_queue_empty() to determine
the poll timeout.

Change-Id: Iaa95063c8c267a5b1ada9f20363b99c433e61ac4
diff --git a/init/init.c b/init/init.c
index 4f4059b..8f95da7 100755
--- a/init/init.c
+++ b/init/init.c
@@ -492,6 +492,7 @@
 
     if (!cur_action || !cur_command || is_last_command(cur_action, cur_command)) {
         cur_action = action_remove_queue_head();
+        cur_command = NULL;
         if (!cur_action)
             return;
         INFO("processing action %p (%s)\n", cur_action, cur_action->name);
@@ -762,7 +763,7 @@
                 timeout = 0;
         }
 
-        if (!action_queue_empty() || cur_command)
+        if (!action_queue_empty() || cur_action)
             timeout = 0;
 
 #if BOOTCHART