One way to prevent other tasks from running is to use Task_setPri() to temporarily raise your task's priority to be higher than any other task. Then simply wait in a loop until a global variable is set either by a Hwi or a Swi thread. When the event occurs use Task_setPri() to restore the task to its original priority.
Alan