diff options
Diffstat (limited to 'plzip.h')
-rw-r--r-- | plzip.h | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -89,7 +89,7 @@ public: { xlock( &mutex ); ++check_counter; - while( num_free == 0 ) + while( num_free <= 0 ) { ++wait_counter; xwait( &slot_av, &mutex ); } --num_free; xunlock( &mutex ); @@ -98,7 +98,7 @@ public: void leave_slot() // return a slot to the tally { xlock( &mutex ); - if( num_free++ == 0 ) xsignal( &slot_av ); + if( ++num_free == 1 ) xsignal( &slot_av ); xunlock( &mutex ); } }; @@ -107,13 +107,14 @@ public: int compress( const int data_size, const int dictionary_size, const int match_len_limit, const int num_workers, const int num_slots, const int infd, const int outfd, - const int debug_level ); + const Pretty_print & pp, const int debug_level ); /*-------------------- Defined in decompress.cc --------------------*/ -int decompress( const int infd, const int outfd, const Pretty_print & pp, - const bool testing ); +int decompress( const int num_workers, const int num_slots, + const int infd, const int outfd, const Pretty_print & pp, + const int debug_level, const bool testing ); /*----------------------- Defined in main.cc -----------------------*/ |