Ignore:
Timestamp:
May 6, 2020, 2:25:16 PM (5 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
5dadc9b7, be91ab4
Parents:
cb870e0 (diff), 171ca0d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
libcfa/src/concurrency
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/io.cfa

    rcb870e0 r87e0b015  
    10071007bool has_user_level_blocking( fptr_t func ) {
    10081008        #if defined(HAVE_LINUX_IO_URING_H)
    1009                 if( /*func == (fptr_t)preadv2 || */
    1010                         func == (fptr_t)cfa_preadv2 )
    1011                         #define _CFA_IO_FEATURE_IORING_OP_READV ,
    1012                         return IS_DEFINED(IORING_OP_READV);
    1013 
    10141009                #if defined(HAVE_PREADV2)
     1010                        if( /*func == (fptr_t)preadv2 || */
     1011                                func == (fptr_t)cfa_preadv2 )
     1012                                #define _CFA_IO_FEATURE_IORING_OP_READV ,
     1013                                return IS_DEFINED(IORING_OP_READV);
     1014                #endif
     1015
     1016                #if defined(HAVE_PWRITEV2)
    10151017                        if( /*func == (fptr_t)pwritev2 || */
    10161018                                func == (fptr_t)cfa_pwritev2 )
     
    10191021                #endif
    10201022
    1021                 #if defined(HAVE_PWRITEV2)
    1022                         if( /*func == (fptr_t)fsync || */
    1023                                 func == (fptr_t)cfa_fsync )
    1024                                 #define _CFA_IO_FEATURE_IORING_OP_FSYNC ,
    1025                                 return IS_DEFINED(IORING_OP_FSYNC);
    1026                 #endif
     1023                if( /*func == (fptr_t)fsync || */
     1024                        func == (fptr_t)cfa_fsync )
     1025                        #define _CFA_IO_FEATURE_IORING_OP_FSYNC ,
     1026                        return IS_DEFINED(IORING_OP_FSYNC);
    10271027
    10281028                if( /*func == (fptr_t)ync_file_range || */
  • libcfa/src/concurrency/kernel.cfa

    rcb870e0 r87e0b015  
    250250        }
    251251
    252         pthread_join( kernel_thread, 0p );
     252        int err = pthread_join( kernel_thread, 0p );
     253        if( err != 0 ) abort("KERNEL ERROR: joining processor %p caused error %s\n", &this, strerror(err));
     254
    253255        free( this.stack );
    254256}
     
    824826        // Destroy the main processor and its context in reverse order of construction
    825827        // These were manually constructed so we need manually destroy them
     828        void ^?{}(processor & this) with( this ){
     829                /* paranoid */ verify( this.do_terminate == true );
     830        }
     831
    826832        ^(*mainProcessor){};
    827833
Note: See TracChangeset for help on using the changeset viewer.