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;