From e3c54d80553ebee8253b52d16f3284a5a93707cd Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 4 Sep 2003 08:53:13 +0000 Subject: [PATCH] Update. 2003-09-04 Jakub Jelinek * libio/fileops.c (_IO_file_read, _IO_new_file_write): Add __builtin_expect. (_IO_file_open): Likewise. Use close_not_cancel. --- ChangeLog | 6 ++++++ libio/fileops.c | 11 ++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6e1a33c..8722115 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-09-04 Jakub Jelinek + + * libio/fileops.c (_IO_file_read, _IO_new_file_write): Add + __builtin_expect. + (_IO_file_open): Likewise. Use close_not_cancel. + 2003-09-04 Ulrich Drepper * libio/libio.h: Define _IO_FLAGS2_NOTCANCEL. diff --git a/libio/fileops.c b/libio/fileops.c index 8a225ae..be683cd 100644 --- a/libio/fileops.c +++ b/libio/fileops.c @@ -226,7 +226,7 @@ _IO_file_open (fp, filename, posix_mode, prot, read_write, is32not64) { int fdesc; #ifdef _LIBC - if (fp->_flags2 & _IO_FLAGS2_NOTCANCEL) + if (__builtin_expect (fp->_flags2 & _IO_FLAGS2_NOTCANCEL, 0)) fdesc = open_not_cancel (filename, posix_mode | (is32not64 ? 0 : O_LARGEFILE), prot); else @@ -242,7 +242,7 @@ _IO_file_open (fp, filename, posix_mode, prot, read_write, is32not64) if (_IO_SEEKOFF (fp, (_IO_off64_t)0, _IO_seek_end, _IOS_INPUT|_IOS_OUTPUT) == _IO_pos_BAD && errno != ESPIPE) { - close (fdesc); + close_not_cancel (fdesc); return NULL; } INTUSE(_IO_link_in) ((struct _IO_FILE_plus *) fp); @@ -292,7 +292,7 @@ _IO_new_file_fopen (fp, filename, mode, is32not64) #ifdef _LIBC last_recognized = mode; #endif - for (i = 1; i < 5; ++i) + for (i = 1; i < 6; ++i) { switch (*++mode) { @@ -1204,7 +1204,7 @@ _IO_file_read (fp, buf, size) void *buf; _IO_ssize_t size; { - return ((fp->_flags2 & _IO_FLAGS2_NOTCANCEL) + return (__builtin_expect (fp->_flags2 & _IO_FLAGS2_NOTCANCEL, 0) ? read_not_cancel (fp->_fileno, buf, size) : read (fp->_fileno, buf, size)); } @@ -1268,7 +1268,8 @@ _IO_new_file_write (f, data, n) _IO_ssize_t to_do = n; while (to_do > 0) { - _IO_ssize_t count = ((f->_flags2 & _IO_FLAGS2_NOTCANCEL) + _IO_ssize_t count = (__builtin_expect (f->_flags2 + & _IO_FLAGS2_NOTCANCEL, 0) ? write_not_cancel (f->_fileno, data, to_do) : write (f->_fileno, data, to_do)); if (count < 0) -- 2.7.4