void TicketMgr::RemoveTicket(uint32 ticketId) { if (GmTicket* ticket = GetTicket(ticketId)) { ticket->DeleteFromDB(); _ticketList.erase(ticketId); } }
void TicketMgr::RemoveTicket(uint32 ticketId) { if (GmTicket* ticket = GetTicket(ticketId)) { SQLTransaction trans = SQLTransaction(NULL); ticket->DeleteFromDB(trans); _ticketList.erase(ticketId); } }
void TicketMgr::CloseTicket(uint32 ticketId, int64 source) { if (GmTicket* ticket = GetTicket(ticketId)) { SQLTransaction trans = SQLTransaction(NULL); ticket->SetClosedBy(source); if (source) --_openTicketCount; ticket->SaveToDB(trans); } }
void* MemoryTracker::OnNewDbg(void* block, size_t size, const char* functiOn, const char* file, long line, size_t alignment) { size_t blockSize = GetBlockSize(alignment); uint8* blockAdd = reinterpret_cast<uint8*>(block); Node* nodeAdd = reinterpret_cast<Node*>(block); void** storeBeginAdd = reinterpret_cast<void**>((blockAdd + blockSize) - sizeof(void*)); *storeBeginAdd = blockAdd; nodeAdd->function = GetTicket(funcmap, revfuncmap, functiOn); nodeAdd->line = line; nodeAdd->size = size; nodeAdd->srcfile = GetTicket(filemap, revfilemap, file); nodeAdd->prev = nullptr; nodeAdd->address = (blockAdd + blockSize); LockGuard guard(_lock); if(_head) _head->prev = nodeAdd; currentAllocationSize += size; totalAllocations += size; if(maxAllocationsAtAnyTime < currentAllocationSize) maxAllocationsAtAnyTime = currentAllocationSize; nodeAdd->next = _head; _head = nodeAdd; return (blockAdd + blockSize); }
long rxkst_StartClient(struct clientParms *parms) { long code; long host; long scIndex; struct rx_securityClass *sc; whoami = parms->whoami; /* set this global variable */ host = GetServer(parms->server); if (parms->authentication >= 0) { long kvno = 0; char ticket[MAXKTCTICKETLEN]; int ticketLen; struct ktc_encryptionKey Ksession; if (parms->useTokens) code = GetToken(&kvno, &Ksession, &ticketLen, ticket, parms->cell); else code = GetTicket(&kvno, &Ksession, &ticketLen, ticket, parms->cell); if (code) return code; /* next, we have ticket, kvno and session key, authenticate the conn */ sc = (struct rx_securityClass *) rxkad_NewClientSecurityObject(parms->authentication, &Ksession, kvno, ticketLen, ticket); assert(sc); scIndex = RX_SECIDX_KAD; } else { /* unauthenticated connection */ sc = rxnull_NewClientSecurityObject(); assert(sc); scIndex = RX_SECIDX_NULL; } code = 0; if (!code && parms->callTest) { code = RunCallTest(parms, host, sc, scIndex); } if (!code && parms->hijackTest) { code = RunHijackTest(parms, host, sc, scIndex); } if (!code && (parms->printTiming || parms->fastCalls || parms->slowCalls || parms->copiousCalls)) { struct rx_connection *conn; conn = rx_NewConnection(host, htons(RXKST_SERVICEPORT), RXKST_SERVICEID, sc, scIndex); if (conn) { code = RepeatLoadTest(parms, conn); rx_DestroyConnection(conn); } else code = RXKST_NEWCONNFAILED; } if (!code && parms->stopServer) { struct rx_connection *conn; conn = rx_NewConnection(host, htons(RXKST_SERVICEPORT), RXKST_SERVICEID, sc, scIndex); if (conn) { code = RXKST_Kill(conn); if (code) { afs_com_err(whoami, code, "trying to stop server"); } rx_DestroyConnection(conn); } else code = RXKST_NEWCONNFAILED; } if (parms->printStats) { rx_PrintStats(stdout); #if 0 /* use rxdebug style iteration here */ rx_PrintPeerStats(stdout, rx_PeerOf(conn)); #endif } rxs_Release(sc); rx_Finalize(); if (code) { afs_com_err(parms->whoami, code, "test fails"); exit(13); } else { printf("Test Okay\n"); if (!parms->noExit) exit(0); } return 0; }