I'm not really expert in how it works, but what I see is that right now it returns -1 and sets errno=EAGAIN. That's because libuv automatically makes all incoming fd non-blocking, if I'll manually do `int off = 0; ioctl(fd, FIONBIO, &off)` and try reading - it'll return 0, without reading any bytes.
That makes me think that it doesn't support it. On Wed, Dec 11, 2013 at 3:21 PM, Pramod Sharma <[email protected]> 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.
