Hi Pierre, > 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. 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); 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. 73 Leif / SM5BSZ ############################################################# 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]>
