void replay_char_write_event_save(int res, int offset) { replay_save_instructions(); replay_mutex_lock(); replay_put_event(EVENT_CHAR_WRITE); replay_put_dword(res); replay_put_dword(offset); replay_mutex_unlock(); }
void replay_finish(void) { if (replay_mode == REPLAY_MODE_NONE) { return; } replay_save_instructions(); /* finalize the file */ if (replay_file) { if (replay_mode == REPLAY_MODE_RECORD) { /* write end event */ replay_put_event(EVENT_END); /* write header */ fseek(replay_file, 0, SEEK_SET); replay_put_dword(REPLAY_VERSION); } fclose(replay_file); replay_file = NULL; } if (replay_filename) { g_free(replay_filename); replay_filename = NULL; } replay_finish_events(); replay_mutex_destroy(); }
void replay_char_read_all_save_error(int res) { assert(res < 0); replay_save_instructions(); replay_mutex_lock(); replay_put_event(EVENT_CHAR_READ_ALL_ERROR); replay_put_dword(res); replay_mutex_unlock(); }