discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] USRP2 Sockets


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] USRP2 Sockets
Date: Wed, 15 Apr 2009 13:41:11 -0700
User-agent: Mutt/1.5.18 (2008-05-17)

On Wed, Apr 15, 2009 at 04:20:20PM -0400, devin kelly wrote:
> I've been looking over the GNU Radio code and I can't seem to figure what is
> being done in /usrp2/host/lib/open_usrp2_socket.cc file.  Specifically,
> lines 97 through to 128.
> 
> What I think is happening is that a pair of connected sockets is created
> (97) then a process is forked (102).  So, the child process has it's own
> pair of sockets?  Are sockfd[0] in each process connected?  That would
> explain why sockfd[1] is closed (114) immediately after the fork, but it
> would not explain the need for socketpair to begin with.
> 
> So, my questions are: why is socketpair needed?  What is the fork doing?
> And, why is the socket closed right after the fork?
> 
> Any help is appreciated.
> Devin


This code allows us to open a SOCK_RAW socket without being root by
using a setuid-root helper program, usrp2_socket_opener.  The setuid
program opens the socket on our behalf and passes it back to us
through the socket pair using the socket capability feature.

Look at the code for the helper program, usrp2_socket_opener.c
and read the man pages for each system call to see what's going on.

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]