Ignore:
Timestamp:
Oct 15, 2014, 10:44:36 AM (11 years ago)
Author:
dmik
Message:

icedtea-web: Use unnamed pipe instead of unix-style named pipe for debug console.

Similar to r368.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc

    r433 r436  
    173173#endif
    174174
     175#ifdef __OS2__
     176int debug_pipe[2] = { -1 };
     177#else
    175178// Applet viewer debug pipe name.
    176179gchar* debug_pipe_name = NULL;
     180#endif
    177181
    178182// Applet viewer output watch source.
     
    588592  initialize_debug();//should be already initialized, but...
    589593  if (plugin_debug_to_console){
     594#ifdef __OS2__
     595    if (socketpair (AF_LOCAL, SOCK_STREAM, 0, debug_pipe) == -1)
     596      {
     597        PLUGIN_ERROR ("Failed to create debug pipe", strerror (errno));
     598        np_error = NPERR_GENERIC_ERROR;
     599        goto cleanup_debug_pipe;
     600      }
     601    PLUGIN_DEBUG ("ITNP_New: created debug fifo: %d/%d\n", debug_pipe [0], debug_pipe [1]);
     602#else
    590603    // debug_pipe_name
    591604    debug_pipe_name = g_strdup_printf ("%s/%d-icedteanp-plugin-debug-to-appletviewer",
     
    610623      }
    611624    PLUGIN_DEBUG ("ITNP_New: created debug fifo: %s\n", debug_pipe_name);
     625#endif
    612626  }
    613627
     
    622636  fcntl (in_pipe [0], F_SETFD, FD_CLOEXEC);
    623637  fcntl (out_pipe [0], F_SETFD, FD_CLOEXEC);
     638  if (plugin_debug_to_console)
     639    fcntl (debug_pipe [0], F_SETFD, FD_CLOEXEC);
    624640#endif
    625641
     
    630646  CLOSE_FD (in_pipe [1]);
    631647  CLOSE_FD (out_pipe [1]);
     648  if (plugin_debug_to_console)
     649    CLOSE_FD (debug_pipe [1]);
    632650#endif
    633651
     
    698716  // debug_to_appletviewer
    699717  if (plugin_debug_to_console){
     718#ifdef __OS2__
     719    debug_to_appletviewer = g_io_channel_unix_new (debug_pipe [0]);
     720#else
    700721    debug_to_appletviewer = g_io_channel_new_file (debug_pipe_name,
    701722                                                 "w", &channel_error);
     723#endif
    702724    if (!debug_to_appletviewer)
    703725      {
     
    754776  out_to_appletviewer = NULL;
    755777
     778#ifdef __OS2__
     779 cleanup_debug_pipe:
     780  if (plugin_debug_to_console){
     781    CLOSE_FD (debug_pipe [0]);
     782    CLOSE_FD (debug_pipe [1]);
     783  }
     784#else
    756785  if (plugin_debug_to_console){
    757786    // cleanup_debug_pipe:
     
    766795    debug_pipe_name = NULL;
    767796  }
    768 
    769 
     797#endif
    770798
    771799  // cleanup_out_pipe:
     
    16361664  command_line.push_back(static_cast<std::ostringstream &>(std::ostringstream() << out_pipe[1]).str());
    16371665  command_line.push_back(static_cast<std::ostringstream &>(std::ostringstream() << in_pipe[1]).str());
     1666  if (plugin_debug_to_console)
     1667    command_line.push_back(static_cast<std::ostringstream &>(std::ostringstream() << debug_pipe[1]).str());
    16381668#else
    16391669  command_line.push_back(out_pipe_name);
    16401670  command_line.push_back(in_pipe_name);
    1641 #endif
    16421671  if (plugin_debug_to_console){
    16431672      command_line.push_back(debug_pipe_name);
    16441673  }
     1674#endif
    16451675
    16461676  // Finished command line parameters
     
    24402470    out_to_appletviewer = NULL;
    24412471    // cleanup_debug_pipe:
     2472#ifdef __OS2__
     2473    CLOSE_FD (debug_pipe [0]);
     2474    CLOSE_FD (debug_pipe [1]);
     2475#else
    24422476    // Delete debug pipe.
    24432477    PLUGIN_DEBUG ("NP_Shutdown: deleting debug fifo: %s\n", debug_pipe_name);
     
    24472481    g_free (debug_pipe_name);
    24482482    debug_pipe_name = NULL;
     2483#endif
    24492484  }
    24502485 
Note: See TracChangeset for help on using the changeset viewer.