send(2) setting errno to EOPNOTSUPP (SunOS 4.1)

Andy Newman andy at research.canon.oz.au
Wed Mar 13 12:10:01 AEST 1991


I'm doing some IPC programming under SunOS 4.1 and have been getting
some strange results. I've got a set of IPC routines that use
SOCK_STREAM UNIX domain sockets as the underlying transport and
send(2) is returning -1 with errno == EOPNOTSUPP.

Question: What does this mean? According to Sun's on-line manual
send(2) doesn't set errno to this value (I was setting it to zero
before my call so send was really setting errno).  I create the socket
and connect(2) on it okay and even select(2) to wait until writing on
it will proceed without blocking. If I enable my debug output and slow
the process down a little it works. The other side of the socket
doesn't do anything in between its accept(2) and a recv(2) on
the socket so it shouldn't be affecting the situation. Any pointers?

Any help would be much appreciated.
-- 
Andrew Newman                                | Net:   andy at research.canon.oz.au
Canon Information Systems Research Australia | Phone: +61 2 805 2914
P.O. Box 313 North Ryde, NSW, Australia 2113 | Fax:   +61 2 805 2929



More information about the Comp.unix.programmer mailing list