Block until all the elements in this queue are removed. Return 0 on success, and a non‐zero value otherwise. Specifically, return e_SUCCESS on success, e_DISABLED if `!isEmpty() && isPopFrontDisabled()`. A blocked thread waiting for the queue to empty will return e_DISABLED if disablePopFront is invoked.