add fifo_lock