Go Back   { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Linux > Linux Networking

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-08-2008, 04:30 AM
Beagle
 
Posts: n/a
sending socket descriptor to another pid

Folks,

Socket(2) returns a file descriptor, used to send, write or read data
from the socket. A process calling socket can successfully create the
socket. I found there is a way to send the socket file descriptor to
another process and be able to read and write data as if it were the
original pid via the sendmsg call. I am now looking for examples on
how to write up a simple test case. Any pointers?

Thanks,
BEA
Reply With Quote
  #2 (permalink)  
Old 07-08-2008, 06:28 PM
Daneel Yaitskov
 
Posts: n/a
Re: sending socket descriptor to another pid

Beagle wrote:
> Folks,
>
> Socket(2) returns a file descriptor, used to send, write or read data
> from the socket. A process calling socket can successfully create the
> socket. I found there is a way to send the socket file descriptor to
> another process and be able to read and write data as if it were the
> original pid via the sendmsg call. I am now looking for examples on
> how to write up a simple test case. Any pointers?
>
> Thanks,
> BEA



I guess that it is impossible because someone file descriptor of a
process is is invalid in other process. The kernel uses two tables of
resources. The first table connects descriptors of process with
descriptors of kernel table. The second table is general for the kernel.

Daneel
Reply With Quote
  #3 (permalink)  
Old 07-09-2008, 09:56 PM
Beagle
 
Posts: n/a
Re: sending socket descriptor to another pid

Discovered a truly amazing book (again) which goes into depth
explaining and provides source code delivering exactly the result I
was after (WOW).

Advanced Programming in the UNIX Environment, Second Edition, Chapter
17, Advanced IPC, Section 17.6. An Open Server, Version 2

http://www.apuebook.com

Others had referenced the Linux kernel, net/core/scm.c


On Jul 8, 11:28 am, Daneel Yaitskov <rtfm.rtfm.r...@gmail.com> wrote:
> Beagle wrote:
> > Folks,

>
> > Socket(2) returns a file descriptor, used to send, write or read data
> > from the socket. A process calling socket can successfully create the
> > socket. I found there is a way to send the socket file descriptor to
> > another process and be able to read and write data as if it were the
> > original pid via the sendmsg call. I am now looking for examples on
> > how to write up a simple test case. Any pointers?

>
> > Thanks,
> > BEA

>
> I guess that it is impossible because someone file descriptor of a
> process is is invalid in other process. The kernel uses two tables of
> resources. The first table connects descriptors of process with
> descriptors of kernel table. The second table is general for the kernel.
>
> Daneel


Reply With Quote
Reply

  { mindfrost82.com } > Gadget Corner > Tech Newsgroups > Linux > Linux Networking


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 12:13 PM.


Powered by vBulletin, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.
© 1999-2008 mindfrost82.com v11.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109