diff options
Diffstat (limited to 'libglusterfs')
| -rw-r--r-- | libglusterfs/src/syncop.c | 17 | ||||
| -rw-r--r-- | libglusterfs/src/syncop.h | 15 | 
2 files changed, 6 insertions, 26 deletions
diff --git a/libglusterfs/src/syncop.c b/libglusterfs/src/syncop.c index ef9acfc6d..485a05563 100644 --- a/libglusterfs/src/syncop.c +++ b/libglusterfs/src/syncop.c @@ -101,21 +101,6 @@ synctask_yield (struct synctask *task)  void -synctask_yawn (struct synctask *task) -{ -	struct syncenv *env = NULL; - -	env = task->env; - -	pthread_mutex_lock (&env->mutex); -	{ -		task->woken = 0; -	} -	pthread_mutex_unlock (&env->mutex); -} - - -void  synctask_wake (struct synctask *task)  {          struct syncenv *env = NULL; @@ -533,7 +518,6 @@ __synclock_lock (struct synclock *lock)  			/* called within a synctask */  			list_add_tail (&task->waitq, &lock->waitq);                          pthread_mutex_unlock (&lock->guard); -                        synctask_yawn (task);                          synctask_yield (task);                          /* task is removed from waitq in unlock,                           * under lock->guard.*/ @@ -689,7 +673,6 @@ __syncbarrier_wait (struct syncbarrier *barrier, int waitfor)  			/* called within a synctask */  			list_add_tail (&task->waitq, &barrier->waitq);                          pthread_mutex_unlock (&barrier->guard); -                        synctask_yawn (task);                          synctask_yield (task);                          pthread_mutex_lock (&barrier->guard);  		} else { diff --git a/libglusterfs/src/syncop.h b/libglusterfs/src/syncop.h index 5c439f85d..f05db9943 100644 --- a/libglusterfs/src/syncop.h +++ b/libglusterfs/src/syncop.h @@ -148,14 +148,12 @@ struct syncargs {  #define __yawn(args) do {                                       \ -	args->task = synctask_get ();			        \ -        if (args->task) {                                       \ -		synctask_yawn (args->task);			\ -	} else {						\ -                pthread_mutex_init (&args->mutex, NULL);        \ -                pthread_cond_init (&args->cond, NULL);          \ -                args->done = 0;					\ -        }                                                       \ +        args->task = synctask_get ();                           \ +        if (args->task)                                         \ +            break;                                              \ +        pthread_mutex_init (&args->mutex, NULL);                \ +        pthread_cond_init (&args->cond, NULL);                  \ +        args->done = 0;                                         \          } while (0) @@ -228,7 +226,6 @@ void syncenv_scale (struct syncenv *env);  int synctask_new (struct syncenv *, synctask_fn_t, synctask_cbk_t, call_frame_t* frame, void *);  void synctask_wake (struct synctask *task);  void synctask_yield (struct synctask *task); -void synctask_yawn (struct synctask *task);  void synctask_waitfor (struct synctask *task, int count);  #define synctask_barrier_init(args) syncbarrier_init (&args->barrier)  | 
