Fix race condition in Parrot_alarm_set
Fix race condition in Parrot_alarm_set

Parrot_alarm_set is used by all threads for sleep(). There was a race
condition between checking for an existing alarm and setting the new
one.
In addition with very short alarms it could happen that the target time
has already passed which lead to a negative value being passed to
posix_alarm_set. Catching this case makes sleeps reliable

FROGGS/parrot,parrot/parrot,tkob/parrot,youprofit/parrot,tkob/parrot,youprofit/parrot,youprofit/parrot,youprofit/parrot,tkob/parrot,FROGGS/parrot,tkob/parrot,parrot/parrot,tkob/parrot,tkob/parrot,tkob/parrot,FROGGS/parrot,FROGGS/parrot,FROGGS/parrot,youprofit/parrot,parrot/parrot,FROGGS/parrot,FROGGS/parrot,tkob/parrot,youprofit/parrot,youprofit/parrot,parrot/parrot,youprofit/parrot,FROGGS/parrot,parrot/parrot