Changeset 7a1b7e6


Ignore:
Timestamp:
Apr 9, 2022, 4:39:28 PM (3 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
Children:
ee4b77b
Parents:
11a1240
Message:

bracket vfprintf/vfscanf with enable/disable interrupts in fstream

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/fstream.cfa

    r11a1240 r7a1b7e6  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Mon Jan 10 08:45:05 2022
    13 // Update Count     : 513
     12// Last Modified On : Sat Apr  9 14:55:54 2022
     13// Update Count     : 515
    1414//
    1515
     
    161161    for ( cnt; 10 ) {
    162162                errno = 0;
     163                disable_interrupts();
    163164                len = vfprintf( (FILE *)(os.file$), format, args );
     165                enable_interrupts();
    164166          if ( len != EOF || errno != EINTR ) break;            // timer interrupt ?
    165167          if ( cnt == 9 ) abort( "ofstream fmt EINTR spinning exceeded" );
     
    293295    for () {                                                                                    // no check for EINTR limit waiting for keyboard input
    294296                errno = 0;
     297                disable_interrupts();
    295298                len = vfscanf( (FILE *)(is.file$), format, args );
     299                enable_interrupts();
    296300          if ( len != EOF || errno != EINTR ) break;            // timer interrupt ?
    297301    } // for
Note: See TracChangeset for help on using the changeset viewer.