I am writing a deeply embedded application that communicates on DSSS type
radios to a stationary system using RTP 6.10 (latest). This application must
detect failures at all levels and retry/reconnect when comm is lost. It is
running on a 386sx pc/104 system with an attached PCMCIA card adapter with
an inserted CDS Technologies DSSS radio card.
I am using io-net with the tiny TCP stack and a 6.10 radio driver from CDS
Technologies. When my main process starts by powering up the machine, I
spawn devp-pccard then io-net with the CDS drive and ttcpip stack. I record
the PID from each.
Once I detect that the lowest level is not working, I am attempting to kill
io-net then devp-pccard then restart each process.
However, I can not keep io-net from creating ‘zombies’ and all instances of
io-net are not stopped.
I have spawned ‘slay -f -Q io-net’ then issued wait(&result).
I have also used kill(ionet_PID,SIGHUP); wait();
I must find a way to do this or this implementation is not viable.
Thanks in advance for your replies.