Poison is an effect. Once inflicted with it, you will lose 0.5 lives every 2 seconds but the effect will stop at 1 life. If you get inflicted with it again you'll be brought down to 0.5 lives but after 1 second you will slowly start healing back up to 1.5 lives (0.5 lives every 2 seconds). If you get inflicted with it again and you have not started to recover yet you won't take any damage because you are now immune to it until the effect wears off and will start recovering.
Half-lives work similarly to lives; for example, if you get hit by a regular attack and you have 1.5 lives, you'll be brought down to 0.5 lives. If you have 1.5 lives and are damaged by poison you'll be brought down to 1 life and then 0.5 lives. Recovering with poison works similarly; you regain 0.5 lives every second. If you have 0.5 lives, you'll regain another 0.5 lives until you have 1.5 lives.
If you are recovering and you get hit by poison, the regeneration will cancel it. If you get poisoned before you start to regenerate you will not recover until it wears off. If you get hit by poison whilst you are already being poisoned it will have no effect on you. However, if you are being inflicted by poison or recovering, if you get hit by a normal attack, it cancels it.