From 5c6112a372ac460554fe4c76cd868e6d5aeafce0 Mon Sep 17 00:00:00 2001 From: okuji Date: Sun, 26 Nov 2000 18:27:29 +0000 Subject: [PATCH] use O_FSYNC instead of O_SYNC in FreeBSD. --- ChangeLog | 7 +++++++ grub/asmstub.c | 11 ++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 011e8b7f9..e28b0b0aa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-11-27 OKUJI Yoshinori + + * grub/asmstub.c (serial_init) [!O_SYNC]: Don't specify O_SYNC + to open SERIAL_DEVICE. + (serial_init) [O_FSYNC]: Specify O_FSYNC to open SERIAL_DEVICE. + Reported by Farid Hajji . + 2000-11-22 OKUJI Yoshinori From Vesa Jaaskelainen : diff --git a/grub/asmstub.c b/grub/asmstub.c index 5f93d8621..0066b29f5 100644 --- a/grub/asmstub.c +++ b/grub/asmstub.c @@ -1029,7 +1029,16 @@ serial_init (unsigned short port, unsigned int speed, close (serial_fd); /* Open the device file. */ - serial_fd = open (serial_device, O_RDWR | O_NOCTTY | O_SYNC); + serial_fd = open (serial_device, + O_RDWR | O_NOCTTY +#if defined(O_SYNC) + /* O_SYNC is used in Linux (and some others?). */ + | O_SYNC +#elif defined(O_FSYNC) + /* O_FSYNC is used in FreeBSD. */ + | O_FSYNC +#endif + ); if (serial_fd < 0) return 0;