This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Functions | |
| void | log_info (const char *format,...) |
| void | log_error (const char *format,...) |
| void | print_info (const char *format,...) |
| void | print_error (const char *format,...) |
| void | log_init () |
| void | die (const char *format,...) |
|
||||||||||||
|
00159 {
00160 va_list args;
00161 fprintf(stderr,"%s: ", my_progname);
00162 va_start(args, format);
00163 vfprintf(stderr, format, args);
00164 va_end(args);
00165 fprintf(stderr, "\n");
00166 exit(1);
00167 }
|
|
||||||||||||
|
00108 {
00109 va_list args;
00110 va_start(args, format);
00111 log(stderr, format, args);
00112 va_end(args);
00113 }
|
|
||||||||||||
|
00117 {
00118 va_list args;
00119 va_start(args, format);
00120 log(stdout, format, args);
00121 va_end(args);
00122 }
|
|
|
00712 {
00713 byte* buf;
00714
00715 log_sys = mem_alloc(sizeof(log_t));
00716
00717 mutex_create(&(log_sys->mutex));
00718 mutex_set_level(&(log_sys->mutex), SYNC_LOG);
00719
00720 mutex_enter(&(log_sys->mutex));
00721
00722 /* Start the lsn from one log block from zero: this way every
00723 log record has a start lsn != zero, a fact which we will use */
00724
00725 log_sys->lsn = LOG_START_LSN;
00726
00727 ut_a(LOG_BUFFER_SIZE >= 16 * OS_FILE_LOG_BLOCK_SIZE);
00728 ut_a(LOG_BUFFER_SIZE >= 4 * UNIV_PAGE_SIZE);
00729
00730 buf = ut_malloc(LOG_BUFFER_SIZE + OS_FILE_LOG_BLOCK_SIZE);
00731 log_sys->buf = ut_align(buf, OS_FILE_LOG_BLOCK_SIZE);
00732
00733 log_sys->buf_size = LOG_BUFFER_SIZE;
00734
00735 memset(log_sys->buf, '\0', LOG_BUFFER_SIZE);
00736
00737 log_sys->max_buf_free = log_sys->buf_size / LOG_BUF_FLUSH_RATIO
00738 - LOG_BUF_FLUSH_MARGIN;
00739 log_sys->check_flush_or_checkpoint = TRUE;
00740 UT_LIST_INIT(log_sys->log_groups);
00741
00742 log_sys->n_log_ios = 0;
00743
00744 log_sys->n_log_ios_old = log_sys->n_log_ios;
00745 log_sys->last_printout_time = time(NULL);
00746 /*----------------------------*/
00747
00748 log_sys->buf_next_to_write = 0;
00749
00750 log_sys->write_lsn = ut_dulint_zero;
00751 log_sys->current_flush_lsn = ut_dulint_zero;
00752 log_sys->flushed_to_disk_lsn = ut_dulint_zero;
00753
00754 log_sys->written_to_some_lsn = log_sys->lsn;
00755 log_sys->written_to_all_lsn = log_sys->lsn;
00756
00757 log_sys->n_pending_writes = 0;
00758
00759 log_sys->no_flush_event = os_event_create(NULL);
00760
00761 os_event_set(log_sys->no_flush_event);
00762
00763 log_sys->one_flushed_event = os_event_create(NULL);
00764
00765 os_event_set(log_sys->one_flushed_event);
00766
00767 /*----------------------------*/
00768 log_sys->adm_checkpoint_interval = ULINT_MAX;
00769
00770 log_sys->next_checkpoint_no = ut_dulint_zero;
00771 log_sys->last_checkpoint_lsn = log_sys->lsn;
00772 log_sys->n_pending_checkpoint_writes = 0;
00773
00774 rw_lock_create(&(log_sys->checkpoint_lock));
00775 rw_lock_set_level(&(log_sys->checkpoint_lock), SYNC_NO_ORDER_CHECK);
00776
00777 log_sys->checkpoint_buf = ut_align(
00778 mem_alloc(2 * OS_FILE_LOG_BLOCK_SIZE),
00779 OS_FILE_LOG_BLOCK_SIZE);
00780 memset(log_sys->checkpoint_buf, '\0', OS_FILE_LOG_BLOCK_SIZE);
00781 /*----------------------------*/
00782
00783 #ifdef UNIV_LOG_ARCHIVE
00784 /* Under MySQL, log archiving is always off */
00785 log_sys->archiving_state = LOG_ARCH_OFF;
00786 log_sys->archived_lsn = log_sys->lsn;
00787 log_sys->next_archived_lsn = ut_dulint_zero;
00788
00789 log_sys->n_pending_archive_ios = 0;
00790
00791 rw_lock_create(&(log_sys->archive_lock));
00792 rw_lock_set_level(&(log_sys->archive_lock), SYNC_NO_ORDER_CHECK);
00793
00794 log_sys->archive_buf = NULL;
00795
00796 /* ut_align(
00797 ut_malloc(LOG_ARCHIVE_BUF_SIZE
00798 + OS_FILE_LOG_BLOCK_SIZE),
00799 OS_FILE_LOG_BLOCK_SIZE); */
00800 log_sys->archive_buf_size = 0;
00801
00802 /* memset(log_sys->archive_buf, '\0', LOG_ARCHIVE_BUF_SIZE); */
00803
00804 log_sys->archiving_on = os_event_create(NULL);
00805 #endif /* UNIV_LOG_ARCHIVE */
00806
00807 /*----------------------------*/
00808
00809 log_block_init(log_sys->buf, log_sys->lsn);
00810 log_block_set_first_rec_group(log_sys->buf, LOG_BLOCK_HDR_SIZE);
00811
00812 log_sys->buf_free = LOG_BLOCK_HDR_SIZE;
00813 log_sys->lsn = ut_dulint_add(LOG_START_LSN, LOG_BLOCK_HDR_SIZE);
00814
00815 mutex_exit(&(log_sys->mutex));
00816
00817 #ifdef UNIV_LOG_DEBUG
00818 recv_sys_create();
00819 recv_sys_init(FALSE, buf_pool_get_curr_size());
00820
00821 recv_sys->parse_start_lsn = log_sys->lsn;
00822 recv_sys->scanned_lsn = log_sys->lsn;
00823 recv_sys->scanned_checkpoint_no = 0;
00824 recv_sys->recovered_lsn = log_sys->lsn;
00825 recv_sys->limit_lsn = ut_dulint_max;
00826 #endif
00827 }
|
|
||||||||||||
|
00134 {
00135 va_list args;
00136 va_start(args, format);
00137 vfprintf(stderr, format, args);
00138 va_end(args);
00139 }
|
|
||||||||||||
|
00126 {
00127 va_list args;
00128 va_start(args, format);
00129 vfprintf(stdout, format, args);
00130 va_end(args);
00131 }
|
1.3.9.1