Return immediatly if value is set, or block waiting for value to be set

Property definitions

actors $ Future :: join
	# Return immediatly if `value` is set, or block waiting for `value` to be set
	fun join: E do
		mutex.lock
		if not is_done then
			var cond = self.cond
			if cond == null then
				cond = new PthreadCond
				self.cond = cond
			end
			cond.wait(mutex)
		end
		mutex.unlock
		return value
	end
lib/actors/actors.nit:192,2--205,4