int main(int argc, char** argv) { // Create traces perffd = setupHandler(SIGIO); fprintf(stderr, "i address at %p\n", &i); // Set a signal handler for SIGUSR1 struct sigaction sa1 = { .sa_sigaction = fizz_handler, .sa_flags = SA_SIGINFO }; if(sigaction(SIGIO, &sa1, NULL) == -1) { fprintf(stderr, "Failed to set SIGTRAP handler: %s\n", strerror(errno)); abort(); } // Start traces enable_trace(perffd); // Shortest fizzbuzz implementation ever: for(i=0; i<2000; i++) { ; } // Disable traces disable_trace(perffd); // Read out the count of events //fprintf(stderr, "Watchpoints tripped %lu times. i is %d\n", get_trace_count(perffd), i); munmap(our_mmap, 9*4096); return 0; }
bool CStarCamera::removeMatrixRow() { if (_matrixRow == -1) return false; CNavigationInfo data; _mover->copyTo(&data); deleteHandler(); --_matrixRow; setupHandler(&data); return true; }
bool CStarCamera::addMatrixRow(const FVector &v) { if (_matrixRow >= 2) return false; CNavigationInfo data; _mover->copyTo(&data); deleteHandler(); FVector &row = _matrix[++_matrixRow]; row = v; setupHandler(&data); return true; }
CStarCamera::CStarCamera(const CNavigationInfo *data) : _matrixRow(-1), _mover(nullptr), _isMoved(false) { setupHandler(data); }