void handle_analyze (void) { ++ this->count_; if ((this->count_ % 10000) == 0) PIN_Detach (); }
VOID docount() { if (++icount == icountMax) { fprintf(stderr, "Send detach request form analysis routine after %d instructions\n", icountMax); PIN_Detach(); } }
VOID sleeping_thread(VOID* v) { if(KnobTimeoutMs.Value() == "infinite") return; PIN_Sleep(atoi(KnobTimeoutMs.Value().c_str())); PIN_Detach(); }
VOID docount() { icount++; // Release control of application if 10000 // instructions have been executed if ((icount % 10000) == 0) { PIN_Detach(); } }
/* * stop the execution of the application inside the * tag-aware VM; the execution of the application * is not interrupted * * NOTE: it also performs the appropriate cleanup */ void libdft_die(void) { /* deallocate the resources needed for the tagmap */ tagmap_free(); /* * detach Pin from the application; * the application will continue to execute natively */ PIN_Detach(); }
VOID do_call_indirect(ADDRINT target, BOOL taken) { if( !taken ) return; if( counter == 0 ) { DumpHistogram(Out); Out << flush; counter = KnobThreshold.Value(); updates++; if ( updates == KnobDetachUpdates.Value() ) { PIN_Detach(); } } counter--; RtnMap[target]++; }
static PyObject *Triton_detachProcess(PyObject *self, PyObject *noarg) { PIN_Detach(); analysisTrigger.update(false); Py_INCREF(Py_None); return Py_None; }
void DetachFunc(){ PIN_Detach(); }