Fix thread state

Change join return value behaviour:
it is ok to call join on a thread that has never started

Change-Id: Ie48765b294d9c8376f524c00c5302d0add22d02c