Changed FATAL macro to always dprintf() the error. Additionally it still
prints to stdout, but only until the program and its dependencies are loaded. Failed attempts to load add-ons and the like doesn't pollute stdout anymore. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25437 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
7b54413e91
commit
5d0638bf88
@ -82,6 +82,7 @@ static image_queue_t sDisposableImages = {0, 0};
|
||||
static uint32 sLoadedImageCount = 0;
|
||||
static image_t *sProgramImage;
|
||||
static KMessage sErrorMessage;
|
||||
static bool sProgramLoaded = false;
|
||||
|
||||
// a recursive lock
|
||||
static sem_id rld_sem;
|
||||
@ -89,9 +90,6 @@ static thread_id rld_sem_owner;
|
||||
static int32 rld_sem_count;
|
||||
|
||||
|
||||
#ifdef TRACE_RLD
|
||||
# define FATAL(x...) dprintf("runtime_loader: " x);
|
||||
|
||||
void
|
||||
dprintf(const char *format, ...)
|
||||
{
|
||||
@ -105,9 +103,13 @@ dprintf(const char *format, ...)
|
||||
|
||||
va_end(list);
|
||||
}
|
||||
#else
|
||||
# define FATAL(x...) printf("runtime_loader: " x);
|
||||
#endif
|
||||
|
||||
#define FATAL(x...) \
|
||||
do { \
|
||||
dprintf("runtime_loader: " x); \
|
||||
if (!sProgramLoaded) \
|
||||
printf("runtime_loader: " x); \
|
||||
} while (false)
|
||||
|
||||
|
||||
/*! Mini atoi(), so we don't have to include the libroot dependencies.
|
||||
@ -1607,6 +1609,8 @@ load_program(char const *path, void **_entry)
|
||||
|
||||
rld_unlock();
|
||||
|
||||
sProgramLoaded = true;
|
||||
|
||||
KTRACE("rld: load_program(\"%s\") done: entry: %p, id: %ld", path,
|
||||
*_entry, sProgramImage->id);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user