uusgta@sw1e.UUCP (4237] Tom Adams) (01/05/89)
Some kind soul(s) offered anonymous uucp to get the KA9Q source modified for the 3b1. I, being a sponge-head, saved this generous offer in the same place I aways save generous offers. Unfortunately for this nth offer record, I was careless with the (n+1)th offer. Could someone aid this 'apless soul? I promise this is the n' th time I'll ask. By the bye. Any word on gnu C++ for the 3b1?
david@ms.uky.edu (David Herron -- One of the vertebrae) (01/07/89)
The place to get the KA9Q sources is over in the ftp directories on louie.udel.edu .. Now, I don't see how it could possibly work. Someone said this code had been developed for BSD machines and doesn't currently run on SysV. This says to me that select()'s were used for polling I/O, since SysV doesn't have an equivalent facility. I spent a day last week thinking over different ways of implementing a select() mechanism and I think I have a way. Start off with a shared memory block. For each file descriptor which you'd want to be doing select()'s on you fork() off a child process to handle that file descriptor. (Two children maybe?) The child has an infinite loop that hangs in a read() call and when that returns it puts the result into shared memory, and sets some flag in shared memory saying that the data is there. Possibly it uses a signal to let the parent know immediately that some data has arrived? You need this so that the TCP/IP code is able to be active all the time and also let it have a way of suspending itself until something is available to do. -- <-- David Herron; an MMDF guy <david@ms.uky.edu> <-- ska: David le casse\*' {rutgers,uunet}!ukma!david, david@UKMA.BITNET <-- Now I know how Zonker felt when he graduated ... <-- Stop! Wait! I didn't mean to!