Ticket #6237: mythtv-enable_mythfrontend_logging_early.patch

File mythtv-enable_mythfrontend_logging_early.patch, 3.4 KB (added by sphery <mtdean@…>, 11 years ago)
  • programs/mythfrontend/main.cpp

    old new  
    10991099                return FRONTEND_EXIT_INVALID_CMDLINE;
    11001100            }
    11011101        }
     1102        else if (!strcmp(a.argv()[argpos],"-l") ||
     1103            !strcmp(a.argv()[argpos],"--logfile"))
     1104        {
     1105            if (a.argc()-1 > argpos)
     1106            {
     1107                logfile = a.argv()[argpos+1];
     1108                if (logfile.startsWith("-"))
     1109                {
     1110                    cerr << "Invalid or missing argument"
     1111                            " to -l/--logfile option\n";
     1112                    return FRONTEND_EXIT_INVALID_CMDLINE;
     1113                }
     1114                else
     1115                {
     1116                    ++argpos;
     1117                }
     1118            }
     1119            else
     1120            {
     1121                cerr << "Missing argument to -l/--logfile option\n";
     1122                return FRONTEND_EXIT_INVALID_CMDLINE;
     1123            }
     1124        }
    11021125        else if (cmdline.Parse(a.argc(), a.argv(), argpos, cmdline_err))
    11031126        {
    11041127            if (cmdline_err)
     
    11091132    }
    11101133    QMap<QString,QString> settingsOverride = cmdline.GetSettingsOverride();
    11111134
     1135    if (logfile.size())
     1136    {
     1137        if (log_rotate(1) < 0)
     1138            cerr << "cannot open logfile; using stdout/stderr" << endl;
     1139        else
     1140        {
     1141            VERBOSE(VB_IMPORTANT, QString("%1 version: %2 [%3] www.mythtv.org")
     1142                                    .arg(binname)
     1143                                    .arg(myth_source_path)
     1144                                    .arg(myth_source_version));
     1145
     1146            signal(SIGHUP, &log_rotate_handler);
     1147        }
     1148    }
     1149
     1150    if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
     1151        cerr << "Unable to ignore SIGPIPE\n";
     1152
    11121153    if (!cmdline.GetDisplay().isEmpty())
    11131154    {
    11141155        MythUIHelper::SetX11Display(cmdline.GetDisplay());
     
    11301171        if (!strcmp(a.argv()[argpos],"-l") ||
    11311172            !strcmp(a.argv()[argpos],"--logfile"))
    11321173        {
    1133             if (a.argc()-1 > argpos)
    1134             {
    1135                 logfile = a.argv()[argpos+1];
    1136                 if (logfile.startsWith("-"))
    1137                 {
    1138                     cerr << "Invalid or missing argument"
    1139                             " to -l/--logfile option\n";
    1140                     return FRONTEND_EXIT_INVALID_CMDLINE;
    1141                 }
    1142                 else
    1143                 {
    1144                     ++argpos;
    1145                 }
    1146             }
    1147             else
    1148             {
    1149                 cerr << "Missing argument to -l/--logfile option\n";
    1150                 return FRONTEND_EXIT_INVALID_CMDLINE;
    1151             }
     1174            // Arg processing for logfile already done (before MythContext)
     1175            ++argpos;
    11521176        } else if (!strcmp(a.argv()[argpos],"-v") ||
    11531177                   !strcmp(a.argv()[argpos],"--verbose"))
    11541178        {
     
    12161240        return FRONTEND_EXIT_OK;
    12171241    }
    12181242
    1219     if (logfile.size())
    1220     {
    1221         if (log_rotate(1) < 0)
    1222             cerr << "cannot open logfile; using stdout/stderr" << endl;
    1223         else
    1224             signal(SIGHUP, &log_rotate_handler);
    1225     }
    1226 
    1227     if (signal(SIGPIPE, SIG_IGN) == SIG_ERR)
    1228         cerr << "Unable to ignore SIGPIPE\n";
    1229 
    12301243    QString fileprefix = GetConfDir();
    12311244
    12321245    QDir dir(fileprefix);