All pastes #623464 Raw Edit

Anonymous

public diff v1 · immutable
·published 2007-07-17 16:51 UTC
rendered paste body
Index: libhb/hb.c===================================================================--- libhb/hb.c	(revision 706)+++ libhb/hb.c	(working copy)@@ -23,6 +23,7 @@        from this one (see work.c) */     hb_list_t    * jobs;     int            job_count;+    int   job_count_permanent;         volatile int   work_die;     int            work_error;     hb_thread_t  * work_thread;@@ -655,6 +656,8 @@      /* Add the job to the list */     hb_list_add( h->jobs, job_copy );+    h->job_count = hb_count(h);+    h->job_count_permanent++; }  /**@@ -665,7 +668,8 @@ void hb_rem( hb_handle_t * h, hb_job_t * job ) {     hb_list_rem( h->jobs, job );-+    h->job_count = hb_count(h);+    h->job_count_permanent--;     /* XXX free everything XXX */ } @@ -679,13 +683,13 @@ {     /* XXX Hack */     h->job_count = hb_list_count( h->jobs );-+         hb_lock( h->state_lock );     h->state.state = HB_STATE_WORKING; #define p h->state.param.working     p.progress  = 0.0;     p.job_cur   = 1;-    p.job_count = h->job_count;+    p.job_count = hb_list_count( h->jobs );     p.rate_cur  = 0.0;     p.rate_avg  = 0.0;     p.hours     = -1;@@ -738,7 +742,7 @@ void hb_stop( hb_handle_t * h ) {     h->work_die = 1;-+    h->job_count_permanent--;         hb_resume( h ); } @@ -851,6 +855,8 @@             hb_lock( h->state_lock );             h->state.state                = HB_STATE_WORKDONE;             h->state.param.workdone.error = h->work_error;+            h->job_count = hb_count(h);+                         hb_unlock( h->state_lock );         } @@ -903,8 +909,8 @@     {         /* XXX Hack */         h->state.param.working.job_cur =-            h->job_count - hb_list_count( h->jobs );-        h->state.param.working.job_count = h->job_count;+            h->job_count_permanent - hb_list_count( h->jobs );+        h->state.param.working.job_count = hb_list_count( h->jobs ) +1;     }     hb_unlock( h->state_lock );     hb_unlock( h->pause_lock );