Additional work executed after main from a ThreadPool

Property definitions

pthreads :: threadpool $ Task :: after_main
	# Additional work executed after `main` from a `ThreadPool`
	private fun after_main do end
lib/pthreads/threadpool.nit:82,2--83,30

pthreads $ JoinTask :: after_main
	redef fun after_main do
		# TODO move this at the end of main so all `JoinTask` can be joined
		# no matter what calls `main`.

		mutex.lock
		is_done = true
		var tcond = cond
		if tcond != null then tcond.signal
		mutex.unlock
	end
lib/pthreads/threadpool.nit:107,2--116,4