CDS_P4IPCInterface.il #1

  • //
  • guest/
  • robert_yu/
  • perforce/
  • cdsp4/
  • release/
  • 2.2/
  • Skill/
  • Common/
  • CDS_P4IPCInterface.il
  • View
  • Commits
  • Open Download .zip Download (3 KB)
procedure(CDS_IPCPipeToCIW(childId data)	  ;_Jun  8 98 sikand 0
        printf(data)
) ; ** procedure CDS_IPCPipeToCIW **


procedure(CDS_IPCBeginProcess(command		  ;_Aug 19 98 sikand 315
                              @key (stdHandler "CDS_IPCPipeToCIW")
                                   (errHandler "CDS_IPCPipeToCIW")
                                   (doneFunc "")
                                   (logFile  ""))
    CDS_IPCProc = ipcBeginProcess(command "" stdHandler errHandler doneFunc logFile)
) ; ** procedure CDS_IPCBeginProcess **


procedure(CDS_IPCBeginNoWaitProcess(command		  ;_Aug 19 98 sikand 315
                              @key (stdHandler "CDS_IPCPipeToCIW")
                                   (errHandler "CDS_IPCPipeToCIW")
                                   (doneFunc "CDS_IPCNoWaitDone")
                                   (logFile  ""))
    prog(()
    CDS_IPCProc = ipcBeginProcess(command "" stdHandler errHandler doneFunc logFile)
    printf("%s\n" CDS_IPCProc)
    return(CDS_IPCProc)
    )
) ; ** procedure CDS_IPCBeginProcess **


procedure(CDS_IPCNoWaitDone(childId data)

	printf("Background job completed id: %s\n" childId)

)





procedure(CDS_IPCCommand(command)		  ;_Sep 15 98 sikand 260
  ;; execute IPC command with pipe to CIW
  ;; wait for child to terminate
  ;; and return exit status
  CDS_IPCProc= CDS_IPCBeginProcess(command)
  ipcWait(CDS_IPCProc)
  ipcGetExitStatus(CDS_IPCProc)
) ; ** procedure CDS_IPCCommand **



procedure(CDS_IPCNoWaitCommand(command)		  ;_Jun 26 01 sikand 0
  ;; execute IPC command with pipe to CIW
  ;; don't wait for child to terminate
  ;; and don't return exit status
  
let((sym ipcid id)

  ;; check for the global table
  unless( boundp('CDS_IPCTable)
  CDS_IPCTable = makeTable("CDS_IPCIds")
  )
  ;;sym=gensym('CDS_IPCNoWait)
  ipcid= CDS_IPCBeginNoWaitProcess(command)
  ;;printf("%s\n" ipcid)
  ;;id = evalstring(sprintf(nil "%s=ipcid" sym))
  CDS_IPCTable[command] = ipcid
  t

)
) ; ** procedure CDS_IPCCommand **


procedure(CDS_IPCBufferProcess(command		  ;_Sep 15 98 sikand 348
			       @key (stdHandler "CDS_IPCAssignToGlobal")
			       (errHandler "CDS_IPCAssignToGlobal")
			       (doneFunc "")
			       (logFile  ""))
  ;; clear the buffer
  CDS_IPCBuffer= nil
  CDS_IPCProc= ipcBeginProcess(command "" stdHandler errHandler doneFunc logFile)
  ipcWait(CDS_IPCProc)
  ipcGetExitStatus(CDS_IPCProc)
) ; ** procedure CDS_BufferProcess **


procedure(CDS_IPCAssignToGlobal(childId data)	  ;_Jul 15 98 sikand 70
  let((temp)

    if( CDS_IPCBuffer then
       temp = strcat(CDS_IPCBuffer data)
       CDS_IPCBuffer = temp
    else
       CDS_IPCBuffer= data
    ) ; ** if CDS_IPCBuffer **
  ) ; ** let **
) ; ** procedure CDS_IPCAssignToGlobal **

# Change User Description Committed
#1 4529 robert_yu p4 integrate from public/perforce/cdsp4/release/2.2/...
//guest/perforce_software/cdsp4/release/2.2/Skill/Common/CDS_P4IPCInterface.il
#3 2877 Shiv Sikand IPC table id bug
#2 2192 Shiv Sikand Fix for Delete->Clean Catalog->Refresh
a) in lbb code, reject empty cells or views
b) clean the catalog on FirstAccessLib in background
       c) Bug fix where ipcId was not reported
#1 1675 Shiv Sikand New 2.2 tree