From 6a9037d08762877972ce56e7a787ab55f83bcb97 Mon Sep 17 00:00:00 2001 From: Abramo Bagnara Date: Fri, 2 Mar 2001 09:34:37 +0000 Subject: [PATCH] Fixed premature slave close --- src/pcm/pcm_meter.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pcm/pcm_meter.c b/src/pcm/pcm_meter.c index 279f22db..fecd9bcf 100644 --- a/src/pcm/pcm_meter.c +++ b/src/pcm/pcm_meter.c @@ -74,23 +74,23 @@ void debug_start(snd_pcm_meter_scope_t *scope ATTRIBUTE_UNUSED) void debug_stop(snd_pcm_meter_scope_t *scope ATTRIBUTE_UNUSED) { - fprintf(stderr, "stop\n"); + fprintf(stderr, "\nstop\n"); } void debug_update(snd_pcm_meter_scope_t *scope ATTRIBUTE_UNUSED) { snd_pcm_meter_t *meter = scope->pcm->private_data; - fprintf(stderr, "update %ld\r", meter->now); + fprintf(stderr, "update %08ld\r", meter->now); } void debug_reset(snd_pcm_meter_scope_t *scope ATTRIBUTE_UNUSED) { - fprintf(stderr, "reset\n"); + fprintf(stderr, "\nreset\n"); } void debug_close(snd_pcm_meter_scope_t *scope ATTRIBUTE_UNUSED) { - fprintf(stderr, "close\n"); + fprintf(stderr, "\nclose\n"); } snd_pcm_meter_scope_t debug_scope = { @@ -278,8 +278,6 @@ static int snd_pcm_meter_close(snd_pcm_t *pcm) { snd_pcm_meter_t *meter = pcm->private_data; int err = 0; - if (meter->close_slave) - err = snd_pcm_close(meter->slave); meter->closed = 1; pthread_mutex_lock(&meter->running_mutex); pthread_cond_signal(&meter->running_cond); @@ -289,6 +287,8 @@ static int snd_pcm_meter_close(snd_pcm_t *pcm) pthread_mutex_destroy(&meter->update_mutex); pthread_mutex_destroy(&meter->running_mutex); pthread_cond_destroy(&meter->running_cond); + if (meter->close_slave) + err = snd_pcm_close(meter->slave); free(meter); return 0; } -- 2.47.1