diff --git a/BitKeeper/triggers/pre-delta b/BitKeeper/triggers/pre-delta index e22ae9ce940..cd861703bb5 100755 --- a/BitKeeper/triggers/pre-delta +++ b/BitKeeper/triggers/pre-delta @@ -1,5 +1,16 @@ #!/bin/sh +if [ "$BK_USER" = "Administrator" -o "$BK_USER" = "mysqldev" ] +then + echo "Error: you cannot checkin as 'Administrator' or 'mysqldev' user." + echo "as a workaround set BK_USER to your nickname" + echo "e.g.: export BK_USER='bar'" + echo "" + echo "Checkin FAILED!" + echo "Set BK_USER and retry." + exit 1 +fi + if [ `tail -c1 $BK_FILE` ] then echo "File $BK_FILE does not end with a new-line character!" diff --git a/sql/log.cc b/sql/log.cc index 3a420866025..ab0cb823f15 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -2036,6 +2036,7 @@ bool flush_error_log() char err_renamed[FN_REFLEN], *end; end= strmake(err_renamed,log_error_file,FN_REFLEN-4); strmov(end, "-old"); + VOID(pthread_mutex_lock(&LOCK_error_log)); #ifdef __WIN__ char err_temp[FN_REFLEN+4]; /* @@ -2056,7 +2057,7 @@ bool flush_error_log() if ((fd = my_open(err_temp, O_RDONLY, MYF(0))) >= 0) { while ((bytes = (int) my_read(fd, (byte*) buf, IO_SIZE, MYF(0))) > 0) - my_fwrite(stderr, (byte*) buf, (uint) strlen(buf),MYF(0)); + my_fwrite(stderr, (byte*) buf, bytes, MYF(0)); my_close(fd, MYF(0)); } (void) my_delete(err_temp, MYF(0)); @@ -2070,6 +2071,7 @@ bool flush_error_log() else result= 1; #endif + VOID(pthread_mutex_unlock(&LOCK_error_log)); } return result; }