void IMAPCommandAppend::ParseBinary(shared_ptr<IMAPConnection> pConnection, shared_ptr<ByteBuffer> pBuf) { _appendBuffer.Add(pBuf); if (_appendBuffer.GetSize() >= m_lBytesLeftToReceive) { _WriteData(pConnection, _appendBuffer.GetBuffer(), _appendBuffer.GetSize()); pConnection->SetReceiveBinary(false); _appendBuffer.Empty(); _Finish(pConnection); pConnection->PostReceive(); } else { _TruncateBuffer(pConnection); pConnection->PostBufferReceive(); } }
void RshWatcher(int ninvoke,int port){ /* echo dynamically allocated PORT number */ /* fprintf(stdout,"%d\n",port); */ /* if( foreground ) */ if( ninvoke == 0 ){ CStr(host,MaxHostNameLen); getpeerNAME(0,AVStr(host)); proc_title("delegated/rsh/%s",host); if( Fork("RshWatcher") == 0 ){ serverControl(stdin,stdout); _Finish(0); } }else{ fprintf(stderr,"\r\nRESTARTED\r\n> "); fflush(stderr); } /* fclose(stdin); fclose(stdout); fclose(stderr); */ }
status_t PackageWriter::Finish() { try { return _Finish(); } catch (status_t error) { return error; } catch (std::bad_alloc) { fprintf(stderr, "Out of memory!\n"); return B_NO_MEMORY; } }
static void sigTERM(int sig){ int xpid; if( SftpPid ){ if( 0 <= SftpPty ) close(SftpPty); msleep(10); Kill(SftpPid,SIGTERM); msleep(100); xpid = NoHangWait(); sv1log("got SIGTERM/%d[%d] fin %d/%d\n",sig,SftpPid,SftpPty, xpid); SftpPty = -1; SftpPid = 0; } /* should salvage CC-socket ... */ _Finish(0); }
//------------------------------------------------------------------------------ void PostHandle::JobDoneCallBack( SmartPtr<IJob>& job ) { SmartPtr<PostJob> postJob = SmartPtr_Static_Cast<PostJob>( job ); _SetResult( postJob->GetPostResult() ); _Finish( postJob->GetStatusCode() ); }