elewis@olympos.cs.umd.edu (Ed Lewis) (03/31/89)
I am trying to get help using an EXCELAN EXOS 8044-01 TCP/IP board on a Vax
8600. I have a specific problem, transferring a Vax channel from one
process to another via a sys$qiow(...SET__FLAGS...) call.
For those of you who, regardless of being uninterested in this subject, have
read this far in case this posting gets any better, you should hit 'n' now.
For those still here, here is a little background to my problem:
I am trying to write a simple network server program which does this:
loop forever
create a channel (socket, stream, etc...)
wait for a connection
spawn a new process
...and pass the channel to that process
end loop
the new process does something like this:
read from channel
dump data
acknowledge data (application-protocol ack)
close channel
terminate process
I am using detached process, and have all of the privileges, etc. In fact, the
child process is launched and starts to work, but bombs on the read (I'm
using sys$qiow(...EX__READ...). I know the top-level server process is
correct, and all return codes, even from the offending sys$qiow
(...EX__SETFLAGS...) call, are SS$_NORMAL.
Another twist. When I run the server, and connect from a Sun client,
I get one error code (insufficient priv.) at the EX__READ. The next time I
run the client (from a different Sun), I get a different error at the EX__READ,
I have forgotten which specific error.
Here's the question: Has anyone ever sucessfully used the EX__SETFLAGS to
transfer the channel? If any one has, I like to find out how it is done.
(I pass the channel number through the process name - a hack for sure, but
it gets the number there, and I don't have unsightly mailboxes. I avoid the
timing problem for now by a sleep call -- king of the hacks.)
If you can help, please try to reach me via email, I'm not on this news-
group much (and I doubt that anyone else would be that interested anyway *-)).
Thanks in advance...
Ed Lewis elewis@palantir.gsfc.nasa.gov