X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Futil.c;h=cbcf693e1b6bf6e78c9e4e5d0baba40400ada371;hb=d41d4b714d29091dd502dd8705ef489467e11a43;hp=de3cf3cb0efe724fbad7699f4357804d5248038e;hpb=e0edde6fee279cdbbf3c179f5f50adaf0c7c7f1e;p=openvswitch diff --git a/lib/util.c b/lib/util.c index de3cf3cb..cbcf693e 100644 --- a/lib/util.c +++ b/lib/util.c @@ -34,7 +34,14 @@ VLOG_DEFINE_THIS_MODULE(util); COVERAGE_DEFINE(util_xalloc); +/* argv[0] without directory names. */ const char *program_name; + +/* Ordinarily "" but set to "monitor" for a monitor process or "worker" for a + * worker process. */ +const char *subprogram_name = ""; + +/* --version option output. */ static char *program_version; void @@ -192,9 +199,14 @@ ovs_abort(int err_no, const char *format, ...) va_list args; va_start(args, format); - ovs_error_valist(err_no, format, args); - va_end(args); + ovs_abort_valist(err_no, format, args); +} +/* Same as ovs_abort() except that the arguments are supplied as a va_list. */ +void +ovs_abort_valist(int err_no, const char *format, va_list args) +{ + ovs_error_valist(err_no, format, args); abort(); } @@ -243,7 +255,12 @@ ovs_error_valist(int err_no, const char *format, va_list args) { int save_errno = errno; - fprintf(stderr, "%s: ", program_name); + if (subprogram_name[0]) { + fprintf(stderr, "%s(%s): ", program_name, subprogram_name); + } else { + fprintf(stderr, "%s: ", program_name); + } + vfprintf(stderr, format, args); if (err_no != 0) { fprintf(stderr, " (%s)", ovs_retval_to_string(err_no));