what's wrong with unity

My unity version is 3.1.0f4, and my CPU is Intel Core i5.
I write these code in one java script’s update():

print(“in State_BeingShoot()”);
transform.animation.Play(“hit”);
yield WaitForSeconds(1);
mLife–;
print(“being shot mLife” + mLife);

There are two print statements, but in my log, I see that just one of them can be printed in one circle. By the way, there are someting wrong with the update() before: I write one print statement in update, it just print once. But when I write a variable and add 1 to it per cycle, it is printed normally. So what’s the matter.
Thank you for taking time reading this!

Update can’t be used as a coroutine:

http://unity3d.com/support/documentation/ScriptReference/index.Coroutines_26_Yield.html

specifically:

Note that you can’t use yield from within Update or FixedUpdate, but you can use StartCoroutine to start a function that can.