Hay un par de funciones en tu code que sinceramente no tengo idea que hacen.
Pero el al asignarle 1 a tu variable "reinicia" fijate que está en condiciones de salir de todos los while, por ende, llega al final del main y termina el programa (no se si eso es lo que querés justamente).
Ahora bien, desconozco específicamente qué ocurre con ese tipo de error, pero probablemente sea causado por alguna de las funciones no estándar de por ahí. ¿Quizás te falta llamar a alguna función de finalización antes de que termine el programa?
Pero el al asignarle 1 a tu variable "reinicia" fijate que está en condiciones de salir de todos los while, por ende, llega al final del main y termina el programa (no se si eso es lo que querés justamente).
Ahora bien, desconozco específicamente qué ocurre con ese tipo de error, pero probablemente sea causado por alguna de las funciones no estándar de por ahí. ¿Quizás te falta llamar a alguna función de finalización antes de que termine el programa?