Processes p1 & p2 does not get the lock in the mutually exclusive manner. Every process coming out of the critical section releases the lock by setting critical_flag=FALSE. So,no deadlock is possible. But there is a possibility of starvation as the process coming out of critical section makes the request for the critical section & is allowed to do so & letting the other process to wait infinitely. But the overall system satisfies the progress requirement.