summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorunknown <gluh@mysql.com>2005-05-05 12:24:10 +0500
committerunknown <gluh@mysql.com>2005-05-05 12:24:10 +0500
commit2d94bbce60f0dee35ec84e76d45692985a8ff432 (patch)
treea55436a1a63928befb7cac70c5c4626ea8db2485 /sql/mysqld.cc
parenta495d868219c89089df2d339d4f8a06814bf994b (diff)
downloadmariadb-git-2d94bbce60f0dee35ec84e76d45692985a8ff432.tar.gz
Bug #5843: Server code does not check whether PID file was successfully written
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 682733abd89..8ade81401aa 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -6749,9 +6749,15 @@ static void create_pid_file()
char buff[21], *end;
end= int10_to_str((long) getpid(), buff, 10);
*end++= '\n';
- (void) my_write(file, (byte*) buff, (uint) (end-buff),MYF(MY_WME));
+ if (!my_write(file, (byte*) buff, (uint) (end-buff), MYF(MY_WME | MY_NABP)))
+ {
+ (void) my_close(file, MYF(0));
+ return;
+ }
(void) my_close(file, MYF(0));
}
+ sql_perror("Can't start server: can't create PID file");
+ exit(1);
}