Hi,
A SIGPIPE signal is generated by Linux kernel when a frame cannot
be sent to destination for the connexion has timed out (broken or closed).
This signal is received by the program, here xmodem.
If the program does not handle this signal it may fall down.
This is why there is a possibility to declare that a specific
signal, say SIGPIPE, must be ignored. This is the purpose of line
signal (SIGPIPE, SIG_IGN);
that you may include at the beginning of the main program in the
file containing
main()
Look at the beginning of the file and localize a number of #include
lines like :
#include <stdio.h>
You should add there the following line :
#include<signal.h>
Then, you should add the signal line at the beginning of the main
program somewhere after variable declarations. For example :
main(int argc, char *argv[])
{
in c;
char *tab;
signal (SIGPIPE, SIG_IGN);
...
If you want you can send me privately a copy of the first 50 lines of
main() function code. I will help you doing the patch.
After saving the file you can compile xmodem and tell us if it works.
73 de Bernard, f6bvp
-----Original Message-----
Hello Bernard,
Thank you for picking up my question about "Broken pipe" issue and sending
your suggestion.
Please be patient for a while as I am not any computer language programmer
at all.
I read the source file of soundmodem and I believe the error message comes
from the second logprintf statement (line 368) in alsaio.c program.
---------------------------alsaio.c--------------------------------
static inline void iotxstart(struct audioio_unix *audioio)
{
int err;
if (snd_pcm_prepare(audioio->playback_handle) < 0) {
logprintf(MLOG_ERROR, "Error preparing tx.\n");
}
err = snd_pcm_start(audioio->playback_handle);
if (err < 0)
logprintf(MLOG_ERROR, "snd_pcm_start in iotxstart: %s",
snd_strerror(err));
}
-------------------------------------------------------------------
Can you explain me the following questions concerning your suggestion?
1. Are you suggesting adding additional three lines in alsaio.c program?
If yes, which exact lines should I add?
2. What is the purpose and expected result of signal (SIGPIPE, SIG_IGN)
addition?
I am waiting your response soon.
Regards,
take
--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Newbie]
[Kernel Newbies]
[Memory]
[Git]
[Security]
[Netfilter]
[Linux Admin]
[Bugtraq]
[Photo]
[Yosemite Photos]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[ARM Linux Kernel]
[Linux Networking]
[Linux Security]
[Linux RAID]
[Samba]
[Video 4 Linux]
[Linux Resources]