[Core] Prevent infinite recursion when printing errors
This commit is contained in:
parent
5df9867967
commit
d10617bb3b
|
@ -35,6 +35,8 @@
|
||||||
#include "core/object/class_db.h"
|
#include "core/object/class_db.h"
|
||||||
#include "core/object/script_language.h"
|
#include "core/object/script_language.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef DEV_ENABLED
|
#ifdef DEV_ENABLED
|
||||||
// Includes safety checks to ensure that a queue set as a thread singleton override
|
// Includes safety checks to ensure that a queue set as a thread singleton override
|
||||||
// is only ever called from the thread it was set for.
|
// is only ever called from the thread it was set for.
|
||||||
|
@ -93,7 +95,7 @@ Error CallQueue::push_callablep(const Callable &p_callable, const Variant **p_ar
|
||||||
|
|
||||||
if ((page_bytes[pages_used - 1] + room_needed) > uint32_t(PAGE_SIZE_BYTES)) {
|
if ((page_bytes[pages_used - 1] + room_needed) > uint32_t(PAGE_SIZE_BYTES)) {
|
||||||
if (pages_used == max_pages) {
|
if (pages_used == max_pages) {
|
||||||
ERR_PRINT("Failed method: " + p_callable + ". Message queue out of memory. " + error_text);
|
fprintf(stderr, "Failed method: %s. Message queue out of memory. %s\n", String(p_callable).utf8().get_data(), error_text.utf8().get_data());
|
||||||
statistics();
|
statistics();
|
||||||
UNLOCK_MUTEX;
|
UNLOCK_MUTEX;
|
||||||
return ERR_OUT_OF_MEMORY;
|
return ERR_OUT_OF_MEMORY;
|
||||||
|
@ -144,7 +146,7 @@ Error CallQueue::push_set(ObjectID p_id, const StringName &p_prop, const Variant
|
||||||
if (ObjectDB::get_instance(p_id)) {
|
if (ObjectDB::get_instance(p_id)) {
|
||||||
type = ObjectDB::get_instance(p_id)->get_class();
|
type = ObjectDB::get_instance(p_id)->get_class();
|
||||||
}
|
}
|
||||||
ERR_PRINT("Failed set: " + type + ":" + p_prop + " target ID: " + itos(p_id) + ". Message queue out of memory. " + error_text);
|
fprintf(stderr, "Failed set: %s: %s target ID: %s. Message queue out of memory. %s\n", type.utf8().get_data(), String(p_prop).utf8().get_data(), itos(p_id).utf8().get_data(), error_text.utf8().get_data());
|
||||||
statistics();
|
statistics();
|
||||||
|
|
||||||
UNLOCK_MUTEX;
|
UNLOCK_MUTEX;
|
||||||
|
@ -181,7 +183,7 @@ Error CallQueue::push_notification(ObjectID p_id, int p_notification) {
|
||||||
|
|
||||||
if ((page_bytes[pages_used - 1] + room_needed) > uint32_t(PAGE_SIZE_BYTES)) {
|
if ((page_bytes[pages_used - 1] + room_needed) > uint32_t(PAGE_SIZE_BYTES)) {
|
||||||
if (pages_used == max_pages) {
|
if (pages_used == max_pages) {
|
||||||
ERR_PRINT("Failed notification: " + itos(p_notification) + " target ID: " + itos(p_id) + ". Message queue out of memory. " + error_text);
|
fprintf(stderr, "Failed notification: %s target ID: %s. Message queue out of memory. %s\n", itos(p_notification).utf8().get_data(), itos(p_id).utf8().get_data(), error_text.utf8().get_data());
|
||||||
statistics();
|
statistics();
|
||||||
UNLOCK_MUTEX;
|
UNLOCK_MUTEX;
|
||||||
return ERR_OUT_OF_MEMORY;
|
return ERR_OUT_OF_MEMORY;
|
||||||
|
|
Loading…
Reference in New Issue