add_post_meta
doesn’t call the same hook again but there are some other functions such as wp_update_post
which call the hook again. In case it is going into infinite loop you’ll have to call remove_action
inside the function to not make it recursive