A small question on named pipes

From: Gadde, Srinivas <srinivas.gadde_at_compaq.com>
Date: Fri, 27 Apr 2001 10:21:12 -0700

Hello,

        I am porting a named pipe based applications and I am getting
an errno 16 which is "EBUSY" from ioctl (fd, I_SENDFD, pipe[1])
and also on other program from ioctl(fd,I_RECVFD, pipe[1])

1). I created the named pipe with "mknod server.pipe p" command
2). in Program A

   functionA()
{
        int dm_fd;
        int ld_fd[2] = {-1,-1};
.
.
.

        dm_fd = open(SERVER_PIPE,O_RDWR,0666);
        Rc = pipe(ld_fd);
.
.
.
         write(ld_fd[0],Request,sizeof(struct command_s)); /* This may be
out of sequence, I don't know ,
                                                        But I am writing on
0 */
.
.
        io_rc = ioctl(dm_fd,I_SENDFD,ld_fd[1]);

            /* I get an errno 16 (EBUSY) */

}

In Program B

FunctionB ()
{
int Sd;
struct strrecvfd Fds;

Sd = open(SERVER_PIPE,O_RDWR,0666);
.
.
fattach(Sd,SERVER_PIPE);
.
.
Rc = ioctl(Sd,I_RECVFD,&Fds);
/* I get an error EBUSY errno 16 */

}


Any help is greatly appreciated.
                     
Received on Fri Apr 27 2001 - 17:22:11 NZST

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:42 NZDT