Sorry, but I don't know how to provide a code that reproduces the issues without including the eyetracker commands. I excluded the other parts of the code because these are mainly functions that are used for the communication with the eyetracker.
Does 
	Code:
	rec_data = yield viztask.waitDirector(el_rec_thread)
  prevent later lines of code in the task function from executing until the timer expires? That poblem is that I need the
 el_rec_thread to check if the recording is aborted and for (EyeLink) program termination. If I use 
	Code:
	yield viztask.waitTime(2)
  then it seems impossible for me to implement this recording thread. 
