Changeset 4606 for vtkvis/branches/1.7


Ignore:
Timestamp:
Aug 2, 2014 12:47:55 AM (10 years ago)
Author:
ldelgass
Message:

More merges from trunk, including command-line arg. for file descriptors

Location:
vtkvis/branches/1.7
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • vtkvis/branches/1.7

  • vtkvis/branches/1.7/PolyData.cpp

    r3836 r4606  
    239239        TRACE("DataSet is not a PolyData");
    240240        vtkSmartPointer<vtkDataSetSurfaceFilter> gf = vtkSmartPointer<vtkDataSetSurfaceFilter>::New();
    241         gf->UseStripsOn();
     241        //gf->UseStripsOn();
    242242        gf->ReleaseDataFlagOn();
    243243#ifdef USE_VTK6
  • vtkvis/branches/1.7/RenderServer.cpp

    r3994 r4606  
    4545int VtkVis::g_fdIn = STDIN_FILENO; ///< Input file descriptor
    4646int VtkVis::g_fdOut = STDOUT_FILENO; ///< Output file descriptor
    47 FILE *VtkVis::g_fOut = stdout; ///< Output file handle
     47FILE *VtkVis::g_fOut = NULL; ///< Output file handle
    4848FILE *VtkVis::g_fLog = NULL; ///< Trace logging file handle
    4949Renderer *VtkVis::g_renderer = NULL; ///< Main render worker
     
    407407initService()
    408408{
    409     TRACE("Enter");
     409    // Create a stream associated with the output file descriptor
     410    g_fOut = fdopen(g_fdOut, "w");
     411    // If running without a socket, use stdout for debugging
     412    if (g_fOut == NULL && g_fdOut != STDOUT_FILENO) {
     413        g_fdOut = STDOUT_FILENO;
     414        g_fOut = stdout;
     415    }
    410416
    411417    const char *user = getenv("USER");
     
    428434    // open log and map stderr to log file
    429435    g_fLog = fopen(logName, "w");
    430     close(STDERR_FILENO);
    431436    dup2(fileno(g_fLog), STDERR_FILENO);
    432     // flush junk
    433     fflush(stderr);
     437    // If we are writing to socket, map stdout to log
     438    if (g_fdOut != STDOUT_FILENO) {
     439        dup2(fileno(g_fLog), STDOUT_FILENO);
     440    }
     441
     442    fflush(stdout);
    434443
    435444    // clean up malloc'd memory
     
    437446        free(logName);
    438447    }
    439 
    440     TRACE("Leave");
    441448}
    442449
     
    444451exitService()
    445452{
    446     TRACE("Enter");
    447 
    448453    serverStats(0);
    449454
     
    488493    // Ignore SIGPIPE.  **Is this needed? **
    489494    signal(SIGPIPE, SIG_IGN);
     495
     496    while (1) {
     497        int c = getopt(argc, argv, "i:o:");
     498        if (c == -1) {
     499            break;
     500        }
     501        switch (c) {
     502        case 'i': {
     503            int fd = atoi(optarg);
     504            if (fd >=0 && fd < 5) {
     505                g_fdIn = fd;
     506            }
     507        }
     508            break;
     509        case 'o': {
     510            int fd = atoi(optarg);
     511            if (fd >=0 && fd < 5) {
     512                g_fdOut = fd;
     513            }
     514        }
     515            break;
     516        case '?':
     517            break;
     518        default:
     519            return 1;
     520        }
     521    }
     522
    490523    initService();
    491524    initLog();
     
    495528
    496529    TRACE("Starting VTKVis Server");
     530
     531    // Sanity check: log descriptor can't be used for client IO
     532    if (fileno(g_fLog) == g_fdIn) {
     533        ERROR("Invalid input file descriptor");
     534        return 1;
     535    }
     536    if (fileno(g_fLog) == g_fdOut) {
     537        ERROR("Invalid output file descriptor");
     538        return 1;
     539    }
     540    TRACE("File descriptors: in %d out %d log %d", g_fdIn, g_fdOut, fileno(g_fLog));
    497541
    498542#ifdef WANT_TRACE
  • vtkvis/branches/1.7/Renderer.cpp

    r4604 r4606  
    15581558        if (axis == X_AXIS) {
    15591559            _cubeAxesActor->SetXLabelFormat(format);
     1560#ifdef USE_CUSTOM_AXES
    15601561            _cubeAxesActor->XAutoLabelFormatOff();
     1562#endif
    15611563        } else if (axis == Y_AXIS) {
    15621564            _cubeAxesActor->SetYLabelFormat(format);
     1565#ifdef USE_CUSTOM_AXES
    15631566            _cubeAxesActor->YAutoLabelFormatOff();
     1567#endif
    15641568        } else if (axis == Z_AXIS) {
    15651569            _cubeAxesActor->SetZLabelFormat(format);
     1570#ifdef USE_CUSTOM_AXES
    15661571            _cubeAxesActor->ZAutoLabelFormatOff();
     1572#endif
    15671573        }
    15681574        _needsRedraw = true;
  • vtkvis/branches/1.7/RendererCmd.cpp

    r4605 r4606  
    1255512555                                         * available. */
    1255612556    while (inBufPtr->isLineAvailable() ||
    12557            (select(1, &readFds, NULL, NULL, tvPtr) > 0)) {
     12557           (select(inBufPtr->file()+1, &readFds, NULL, NULL, tvPtr) > 0)) {
    1255812558        size_t numBytes;
    1255912559        unsigned char *buffer;
Note: See TracChangeset for help on using the changeset viewer.