many others, a complete list can be found in the file AUTHORS.
This program is Free Software; you can redistribute it and/or
modify it under the terms of version two of the GNU General Public
- License as published by the Free Software Foundation plus additions
- that are listed in the file LICENSE.
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
#include "bacula.h"
#include "dird.h"
-extern void *start_sbrk;
+extern void *start_heap;
static void list_scheduled_jobs(UAContext *ua);
static void list_running_jobs(UAContext *ua);
ua->send_msg(_("Daemon started %s, %d Jobs run since started.\n"),
dt, num_jobs_run);
}
- ua->send_msg(_(" Heap: sbrk=%s bytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"),
- edit_uint64_with_commas((uint64_t)sbrk(0)-(uint64_t)start_sbrk, b1),
+ ua->send_msg(_(" Heap: heap=%s smbytes=%s max_bytes=%s bufs=%s max_bufs=%s\n"),
+ edit_uint64_with_commas((char *)sbrk(0)-(char *)start_heap, b1),
edit_uint64_with_commas(sm_bytes, b2),
edit_uint64_with_commas(sm_max_bytes, b3),
edit_uint64_with_commas(sm_buffers, b4),
break;
case JS_WaitFD:
emsg = (char *) get_pool_memory(PM_FNAME);
- Mmsg(emsg, _("is waiting on Client %s"), jcr->client->name());
+ if (!jcr->client) {
+ Mmsg(emsg, _("is waiting on Client"));
+ } else {
+ Mmsg(emsg, _("is waiting on Client %s"), jcr->client->name());
+ }
pool_mem = true;
msg = emsg;
break;
emsg = (char *) get_pool_memory(PM_FNAME);
if (jcr->wstore) {
Mmsg(emsg, _("is waiting on Storage %s"), jcr->wstore->name());
- } else {
+ } else if (jcr->rstore) {
Mmsg(emsg, _("is waiting on Storage %s"), jcr->rstore->name());
+ } else {
+ Mmsg(emsg, _("is waiting on Storage"));
}
pool_mem = true;
msg = emsg;
break;
default:
- emsg = (char *) get_pool_memory(PM_FNAME);
+ emsg = (char *)get_pool_memory(PM_FNAME);
Mmsg(emsg, _("is in unknown state %c"), jcr->JobStatus);
pool_mem = true;
msg = emsg;
emsg = (char *)get_pool_memory(PM_FNAME);
pool_mem = true;
}
- Mmsg(emsg, _("is waiting for Client %s to connect to Storage %s"),
- jcr->client->name(), jcr->wstore->name());
+ if (!jcr->client || !jcr->wstore) {
+ Mmsg(emsg, _("is waiting for Client to connect to Storage daemon"));
+ } else {
+ Mmsg(emsg, _("is waiting for Client %s to connect to Storage %s"),
+ jcr->client->name(), jcr->wstore->name());
+ }
msg = emsg;
break;
}