Yes. just "uv_read2_start" and it works. Thank you very much for your time. Let me play around with this stuff now.
On Wednesday, 11 December 2013 17:52:38 UTC+5:30, Fedor Indutny wrote: > Ok, so you just need to use `uv_read_start` instead of reading from fd > directly :) Seems to be working fine this way. > > On Wed, Dec 11, 2013 at 4:18 PM, Fedor Indutny > <[email protected]<javascript:>> > wrote: > > Yeah, I was just going to let you know that it seems to be working > > fine without libuv: > > https://gist.github.com/indutny/b4b02dd2729fd5b9f96d > > > > Looking into it. > > > > On Wed, Dec 11, 2013 at 4:14 PM, Pramod Sharma > > <[email protected]<javascript:>> > wrote: > >> And here is the news on uv_server.c - read2_cb if I just change it to > >> static void read2_cb(uv_pipe_t* handle,ssize_t nread, uv_buf_t buf, > >> uv_handle_type pending) { > >> int r; > >> char buffer[1024] = {0}; > >> printf("read2cb callback for handle type %d\n", pending); > >> r = read(self.uv_client_pipe.accepted_fd, buffer, 1024); > >> printf("handle accepted by client fd = %d, bytes = %d , content are > %s\n", > >> self.uv_client_pipe.accepted_fd, r, buffer); > >> } > >> > >> It is reading the right contents of the xyz file and credential passing > is > >> working ....but is this right ??? > >> > >> > >> On Wednesday, 11 December 2013 17:01:28 UTC+5:30, Pramod Sharma wrote: > >>> > >>> Oh man, yes you are right read2_cb is getting called but with pending > as > >>> UV_UNKNOWN_HANDLE. > >>> So we cant wrap arbitrary file descriptor/handle ?? > >>> > >>> The code will look too clumsy if I try to mix libuv and "credential > >>> passing" using sendmsg and recvmsg outside of libuv. Or may be I can > add > >>> libuv call to pass arbitray handle itself after understanding the > libuv > >>> code. > >>> What do you suggest ? > >>> > >>> On Wednesday, 11 December 2013 16:51:19 UTC+5:30, Pramod Sharma wrote: > >>>> > >>>> Thanks Fedor for quick response and looking into it. > >>>> Tried "uv_buf = uv_buf_init(...)". > >>>> > >>>> About sending arbitrary descriptor as per "Ben's" first comment if we > >>>> just wrap it over named pipe/tcp it should work, which is happening > in my > >>>> case as write2 is passing but on the server side read2_cb is not > invoked > >>>> immediately on connection close(which is client process exit, which > is > >>>> obvious I guess). > >>>> > >>>> > >>>> On Wednesday, 11 December 2013 16:21:21 UTC+5:30, Fedor Indutny > wrote: > >>>>> > >>>>> Gosh, spent a lot of time figuring it out :) > >>>>> > >>>>> Try this: `uv_buf = uv_buf_init(...)` instead of just `uv_buf_init`. > >>>>> > >>>>> Anyway, that doesn't seem to be working... First of all, it won't be > >>>>> UV_NAMED_PIPE because it isn't it, it will be UV_UKNOWN_HANDLE and > you > >>>>> should just try calling `uv_accept()` and see if it'll fail. > >>>>> > >>>>> But the most important thing is that you can only send sockets using > >>>>> `uv_write2()`, sending a file won't work. > >>>>> > >>>>> On Wed, Dec 11, 2013 at 1:57 PM, Pramod Sharma <[email protected]> > > >>>>> wrote: > >>>>> > 0.10.19. Do you think I should try with latest one ? > >>>>> > > >>>>> > On Wednesday, 11 December 2013 15:24:26 UTC+5:30, Fedor Indutny > wrote: > >>>>> >> > >>>>> >> Hello Pramod, > >>>>> >> > >>>>> >> Which libuv version are you using? > >>>>> >> > >>>>> >> On Wed, Dec 11, 2013 at 1:21 PM, Pramod Sharma < > [email protected]> > >>>>> >> wrote: > >>>>> >> > Oh sorry forgot to mention that uv_write2 is passing from the > >>>>> >> > client > >>>>> >> > side > >>>>> >> > with status as 0 in the callback but it is never coming in the > >>>>> >> > server > >>>>> >> > read2_cb. > >>>>> >> > > >>>>> >> > > >>>>> >> > On Wednesday, 11 December 2013 14:25:31 UTC+5:30, Pramod Sharma > >>>>> >> > wrote: > >>>>> >> >> > >>>>> >> >> Can someone please help in me debugging as I am new to libuv ? > >>>>> >> >> I am trying to accomplish as follows > >>>>> >> >> - Create a server (domain socket) > >>>>> >> >> - Create a client > >>>>> >> >> - connect to server > >>>>> >> >> - pass the file descriptor(some arbitrary handle, xyz) using > >>>>> >> >> uv_write2 > >>>>> >> >> - server accepts the file descriptor (arbitrary handle, xyz) > and > >>>>> >> >> uses > >>>>> >> >> it > >>>>> >> >> to read it. > >>>>> >> >> > >>>>> >> >> Attached is my client and server program , I know I am doing > some > >>>>> >> >> silly > >>>>> >> >> mistake somewhere. > >>>>> >> >> > >>>>> >> >> PS - please rename makefile.c to makefile as it was not > allowing > >>>>> >> >> me to > >>>>> >> >> upload makefile. > >>>>> >> >> > >>>>> >> >> > >>>>> >> >> On Monday, 9 December 2013 14:04:48 UTC+5:30, Pramod Sharma > wrote: > >>>>> >> >>> > >>>>> >> >>> What about windows ? > >>>>> >> >>> I just want to pass regular file handle(process file handle > which > >>>>> >> >>> is > >>>>> >> >>> trying to connect) from the client to server and vice versa > so > >>>>> >> >>> that I > >>>>> >> >>> can > >>>>> >> >>> do some authentication on them. > >>>>> >> >>> > >>>>> >> >>> On Saturday, 19 October 2013 15:26:51 UTC+5:30, Ben Noordhuis > >>>>> >> >>> wrote: > >>>>> >> >>>> > >>>>> >> >>>> On Fri, Oct 18, 2013 at 11:09 PM, Pramod Sharma > >>>>> >> >>>> <[email protected]> wrote: > >>>>> >> >>>> > Thanks. So libuv internally is not doing anything with the > >>>>> >> >>>> > descriptor > >>>>> >> >>>> > assuming it is a pipe or so ? > >>>>> >> >>>> > >>>>> >> >>>> Not on UNIX platforms, no. > >>>>> >> > > >>>>> >> > -- > >>>>> >> > You received this message because you are subscribed to the > Google > >>>>> >> > Groups > >>>>> >> > "libuv" group. > >>>>> >> > To unsubscribe from this group and stop receiving emails from > it, > >>>>> >> > send > >>>>> >> > an > >>>>> >> > email to [email protected]. > >>>>> >> > To post to this group, send email to [email protected]. > >>>>> >> > Visit this group at http://groups.google.com/group/libuv. > >>>>> >> > For more options, visit > https://groups.google.com/groups/opt_out. > >>>>> > > >>>>> > -- > >>>>> > You received this message because you are subscribed to the Google > >>>>> > Groups > >>>>> > "libuv" group. > >>>>> > To unsubscribe from this group and stop receiving emails from it, > send > >>>>> > an > >>>>> > email to [email protected]. > >>>>> > To post to this group, send email to [email protected]. > >>>>> > Visit this group at http://groups.google.com/group/libuv. > >>>>> > For more options, visit https://groups.google.com/groups/opt_out. > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "libuv" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to [email protected] <javascript:>. > >> To post to this group, send email to [email protected]<javascript:>. > > >> Visit this group at http://groups.google.com/group/libuv. > >> For more options, visit https://groups.google.com/groups/opt_out. > -- You received this message because you are subscribed to the Google Groups "libuv" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/libuv. For more options, visit https://groups.google.com/groups/opt_out.
