Changeset 5434d04 for src/libcfa


Ignore:
Timestamp:
Oct 30, 2017, 6:24:31 PM (7 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
e1e8408, fa477f7
Parents:
2ba0bc7 (diff), 8a48f4b (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 plg2:software/cfa/cfa-cc

Location:
src/libcfa
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/monitor.c

    r2ba0bc7 r5434d04  
    2121#include "kernel_private.h"
    2222
     23#include "bits/algorithms.h"
     24
    2325//-----------------------------------------------------------------------------
    2426// Forward declarations
     
    291293
    292294        // Sort monitors based on address -> TODO use a sort specialized for small numbers
    293         qsort(this.m, count);
     295        __libcfa_small_sort(this.m, count);
    294296
    295297        // Save previous thread context
     
    492494        set_owner( monitors, count, signallee );
    493495
     496        LIB_DEBUG_PRINT_BUFFER_DECL( "Kernel : signal_block condition %p (s: %p)\n", this, signallee );
     497
    494498        //Everything is ready to go to sleep
    495499        BlockInternal( locks, count, &signallee, 1 );
     
    498502        // WE WOKE UP
    499503
     504
     505        LIB_DEBUG_PRINT_BUFFER_LOCAL( "Kernel :   signal_block returned\n" );
    500506
    501507        //We are back, restore the masks and recursions
     
    869875        short size = 0;
    870876        for( int i = 0; i < mask.size; i++ ) {
    871                 qsort( mask.clauses[i].list, mask.clauses[i].size );
     877                __libcfa_small_sort( mask.clauses[i].list, mask.clauses[i].size );
    872878                for( int j = 0; j < mask.clauses[i].size; j++) {
    873879                        insert_unique( storage, size, mask.clauses[i].list[j] );
     
    875881        }
    876882        // TODO insertion sort instead of this
    877         qsort( storage, size );
     883        __libcfa_small_sort( storage, size );
    878884        return size;
    879885}
Note: See TracChangeset for help on using the changeset viewer.