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]> 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]. > 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.
