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]>

Reply via email to