If no inter-canister call then everything is fine since the canister state won’t change when program is running. But the atomicity will be broken when inter-canister call happens and still await.
So in my case it should be okay. But getting involved with inter-canister call will be another story.