~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/transaction_log/transaction_log.cc

Change strerror to strerror_r.

Show diffs side-by-side

added added

removed removed

Lines of Context:
109
109
  log_file= open(log_file_path.c_str(), O_APPEND|O_CREAT|O_SYNC|O_WRONLY, S_IRWXU);
110
110
  if (log_file == -1)
111
111
  {
 
112
    char errmsg[STRERROR_MAX];
 
113
    strerror_r(errno, errmsg, sizeof(errmsg));
112
114
    error_message.assign(_("Failed to open transaction log file "));
113
115
    error_message.append(log_file_path);
114
116
    error_message.append("  Got error: ");
115
 
    error_message.append(strerror(errno));
 
117
    error_message.append(errmsg);
116
118
    error_message.push_back('\n');
117
119
    has_error= true;
118
120
    return;
207
209
 
208
210
  if (unlikely(written != static_cast<ssize_t>(data_length)))
209
211
  {
 
212
    char errmsg[STRERROR_MAX];
 
213
    strerror_r(errno, errmsg, sizeof(errmsg));
210
214
    errmsg_printf(ERRMSG_LVL_ERROR, 
211
215
                  _("Failed to write full size of log entry.  Tried to write %" PRId64
212
216
                    " bytes at offset %" PRId64 ", but only wrote %" PRId32 " bytes.  Error: %s\n"), 
213
217
                  static_cast<int64_t>(data_length),
214
218
                  static_cast<int64_t>(cur_offset),
215
219
                  static_cast<int64_t>(written), 
216
 
                  strerror(errno));
 
220
                  errmsg);
217
221
    state= CRASHED;
218
222
    /* 
219
223
     * Reset the log's offset in case we want to produce a decent error message including
226
230
 
227
231
  if (unlikely(error_code != 0))
228
232
  {
 
233
    char errmsg[STRERROR_MAX];
 
234
    strerror_r(errno, errmsg, sizeof(errmsg));
229
235
    errmsg_printf(ERRMSG_LVL_ERROR, 
230
236
                  _("Failed to sync log file. Got error: %s\n"), 
231
 
                  strerror(errno));
 
237
                  errmsg);
232
238
  }
233
239
  return cur_offset;
234
240
}