Re: [PATCH 09/10] alsabat: use variable for thread return value

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 14 Mar 2016 10:15:20 +0100,
Lu, Han wrote:
> 
> Hi Takashi,
> 
> > -----Original Message-----
> > From: Takashi Iwai [mailto:tiwai@xxxxxxx]
> > Sent: Friday, March 11, 2016 9:34 PM
> > To: Lu, Han <han.lu@xxxxxxxxx>
> > Cc: liam.r.girdwood@xxxxxxxxxxxxxxx; Gautier, Bernard
> > <bernard.gautier@xxxxxxxxx>; Popescu, Edward C
> > <edward.c.popescu@xxxxxxxxx>; alsa-devel@xxxxxxxxxxxxxxxx
> > Subject: Re:  [PATCH 09/10] alsabat: use variable for thread
> > return value
> > 
> > On Wed, 02 Mar 2016 09:53:19 +0100,
> > han.lu@xxxxxxxxx wrote:
> > >
> > > From: "Lu, Han" <han.lu@xxxxxxxxx>
> > >
> > > Replace fixed "1" to variable for thread return value.
> > >
> > > Signed-off-by: Lu, Han <han.lu@xxxxxxxxx>
> > >
> > > diff --git a/bat/alsa.c b/bat/alsa.c
> > > index 0a5f899..189b0e9 100644
> > > --- a/bat/alsa.c
> > > +++ b/bat/alsa.c
> > > @@ -309,13 +309,13 @@ void *playback_alsa(struct bat *bat)
> > >  	if (err != 0) {
> > >  		fprintf(bat->err, _("Cannot open PCM playback device: "));
> > >  		fprintf(bat->err, _("%s(%d)\n"), snd_strerror(err), err);
> > > -		retval_play = 1;
> > > +		retval_play = err;
> > >  		goto exit1;
> > >  	}
> > >
> > >  	err = set_snd_pcm_params(bat, &sndpcm);
> > >  	if (err != 0) {
> > > -		retval_play = 1;
> > > +		retval_play = err;
> > >  		goto exit2;
> > >  	}
> > >
> > > @@ -332,13 +332,13 @@ void *playback_alsa(struct bat *bat)
> > >  			fprintf(bat->err, _("Cannot open file for playback: "));
> > >  			fprintf(bat->err, _("%s %d\n"),
> > >  					bat->playback.file, -errno);
> > > -			retval_play = 1;
> > > +			retval_play = -errno;
> > 
> > Is the original errno still preserved at this point...?
> 
> [han] I think so, the complete code section here is
> 	...
> 	bat->fp = fopen(bat->playback.file, "rb");
> 	if (bat->fp == NULL) {
> 		fprintf(bat->err, _("Cannot open file for playback: "));
> 		fprintf(bat->err, _("%s %d\n"),
> 				bat->playback.file, -errno);
> -		retval_play = 1;
> +		retval_play = -errno;
> 		goto exit3;
> 	}
> 	...
> So the use of errno should be safe.

You call a bunch of functions between the fopen() error and the
reference of errno.  The errno reference should be done immediately
after the error.


Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux