VirtualBox

Changeset 1651 in vbox for trunk


Ignore:
Timestamp:
Mar 23, 2007 9:21:54 AM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
19784
Message:

create the named pipe only once

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Serial/DrvNamedPipe.cpp

    r1647 r1651  
    258258    {
    259259#ifdef __WIN__
    260         HANDLE hPipe = CreateNamedPipe(pData->pszLocation, PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT, 1, 32, 32, 10000, NULL);
    261         if (hPipe == INVALID_HANDLE_VALUE)
    262         {
    263             rc = RTErrConvertFromWin32(GetLastError());
    264             LogRel(("NamedPipe%d: CreateNamedPipe failed rc=%Vrc\n", pData->pDrvIns->iInstance));
    265             break;
    266         }
    267         BOOL fConnected = ConnectNamedPipe(hPipe, NULL);
     260        BOOL fConnected = ConnectNamedPipe((HANDLE)pData->NamedPipe, NULL);
    268261        if (!fConnected)
    269262        {
     
    276269            }
    277270        }
    278         pData->NamedPipe = (RTFILE)hPipe;
    279271#else /* !__WIN__ */
    280272        if (listen(pData->LocalSocketServer, 0) == -1)
     
    370362    if (fIsServer)
    371363    {
     364        HANDLE hPipe = CreateNamedPipe(pData->pszLocation, PIPE_ACCESS_DUPLEX, PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT, 1, 32, 32, 10000, NULL);
     365        if (hPipe == INVALID_HANDLE_VALUE)
     366        {
     367            rc = RTErrConvertFromWin32(GetLastError());
     368            LogRel(("NamedPipe%d: CreateNamedPipe failed rc=%Vrc\n", pData->pDrvIns->iInstance));
     369            return PDMDrvHlpVMSetError(pDrvIns, rc, RT_SRC_POS, N_("NamedPipe#%d failed to create named pipe %s"), pDrvIns->iInstance, pszLocation);
     370        }
     371        pData->NamedPipe = (HFILE)hPipe;
     372
    372373        rc = RTThreadCreate(&pData->ListenThread, drvNamedPipeListenLoop, (void *)pData, 0, RTTHREADTYPE_IO, 0, "NamedPipe");
    373374        if VBOX_FAILURE(rc)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette