Hi Leif, On Wednesday 19 April 2006 21:08, Leif Asbrink wrote: > > If I enter Y ( DA STOP/START [1] in par_userint ) everything works fine. > > If I enter N ( DA STOP/START [0] in par_userint ) xlinrad issues an > > error message 23855 when a new signal is selected . > > When something goes wrong with the device drivers (which was not > uncommon at all in the past) Linrad calls err_restart_da(int errcod), > a routine that tries to close and reopen the output device. > > This routine has been incorrect for some time now because of > a silly mistake of mine but I have not noticed and no one else > has told me about it. I wouldn't worry too much about it. I remember a senior developper of IBM's MVS operating system explaining the audience that this is a universal problem with software because it is impossible to test all possible situations that can occur. > The last line: > if(ioctl(audio_out,SNDCTL_DSP_GETOSPACE, &da_info) != -1)lirerr(errcod); > should be like this: > if(ioctl(audio_out,SNDCTL_DSP_GETOSPACE, &da_info) == -1)lirerr(errcod); Thank you very much for this very quick fix. Everything is working fine now. > What is more interesting is why does the output routine lir_dawrite > hang to issue the call to restart in one case but not the other. > I do not know the answer but I made some little changes to > lir_empty_da_device_buffer() that will show up in Linrad-02.07 and > that possibly eliminate the call to the err_restart routine. Maybe this could be the start of a new thread about the best tracing tool available for linux :-)
Thanks and best 73, Pierre / ON5GN ############################################################# This message is sent to you because you are subscribed to the mailing list <[email protected]>. To unsubscribe, E-mail to: <[EMAIL PROTECTED]> To switch to the DIGEST mode, E-mail to <[EMAIL PROTECTED]> To switch to the INDEX mode, E-mail to <[EMAIL PROTECTED]> Send administrative queries to <[EMAIL PROTECTED]>
