00:19:22  * mmaleckiquit (Quit: leaving)
00:28:12  * c4milojoined
00:38:16  * bnoordhuisquit (Ping timeout: 265 seconds)
00:38:17  * russell_hquit (Ping timeout: 265 seconds)
00:38:18  * c4miloquit (Ping timeout: 265 seconds)
00:38:18  * piscisaureus_quit (Ping timeout: 265 seconds)
00:38:18  * Raynosquit (Ping timeout: 265 seconds)
00:38:18  * benviequit (Ping timeout: 265 seconds)
00:38:25  * bbenviejoined
00:38:25  * brsonquit (Ping timeout: 245 seconds)
00:39:09  * ryahquit (*.net *.split)
00:39:44  * mjr_quit (*.net *.split)
00:39:44  * TooTallNatequit (*.net *.split)
00:39:44  * elijah-mbpquit (*.net *.split)
00:39:44  * tjfontainequit (*.net *.split)
00:39:45  * ericktquit (*.net *.split)
00:39:45  * pieternquit (*.net *.split)
00:39:45  * abraxasquit (*.net *.split)
00:39:45  * chiltsquit (*.net *.split)
00:39:45  * txdvquit (*.net *.split)
00:39:45  * iraquit (*.net *.split)
00:39:45  * einarosquit (*.net *.split)
00:39:45  * jcequit (*.net *.split)
00:39:45  * washbucketquit (*.net *.split)
00:39:45  * ircretaryquit (*.net *.split)
00:39:45  * demarchiquit (*.net *.split)
00:39:46  * mikealquit (*.net *.split)
00:39:46  * rphillipsquit (*.net *.split)
00:39:46  * mrb_bkquit (*.net *.split)
00:39:46  * indutnyquit (*.net *.split)
00:39:46  * igorziquit (*.net *.split)
00:43:30  * ryahjoined
00:44:54  * Raynosjoined
00:44:54  * brson_joined
00:44:54  * russell_hjoined
00:44:54  * isaacs_mobilejoined
00:44:54  * indexzerojoined
00:44:54  * c4milo_joined
00:44:54  * irajoined
00:44:54  * ericktjoined
00:44:54  * mikealjoined
00:44:54  * igorzijoined
00:44:54  * rphillipsjoined
00:44:54  * pieternjoined
00:44:54  * mjr_joined
00:44:54  * abraxasjoined
00:44:54  * mrb_bkjoined
00:44:54  * TooTallNatejoined
00:44:54  * indutnyjoined
00:44:54  * elijah-mbpjoined
00:44:54  * washbucketjoined
00:44:54  * chiltsjoined
00:44:54  * demarchijoined
00:44:54  * txdvjoined
00:44:54  * einarosjoined
00:44:54  * ircretaryjoined
00:44:54  * jcejoined
00:44:54  * tjfontainejoined
00:45:22  * isaacs_mobilequit (Write error: Connection reset by peer)
00:45:36  * ryahquit (*.net *.split)
00:51:37  * ryahjoined
00:55:14  * piscisaureus_joined
01:01:01  * loladirojoined
01:05:42  <DrPizza>piscisaureus_: on the one hand, I'm glad the express toolchain does still appears to work
01:06:15  * indexzeroquit (Quit: indexzero)
01:06:17  <DrPizza>piscisaureus_: on the other hand, it's still not a "supported" thing to do, so if they ever break it (e.g. replacing the desktop CRT with a WinRT-only one) you're SOL
01:07:18  <piscisaureus_>DrPizza: well, as I said, I'd like them to throw away the CRT
01:07:30  <DrPizza>well, they still need _a_ CRT
01:07:37  <piscisaureus_>it's suck a piece of shit
01:07:41  <DrPizza>the VS11 CRT does have some changes
01:07:49  <DrPizza>mainly it doesn't use GetProcAddress so it breaks on XP/2003
01:08:34  * avalanche123joined
01:08:47  <piscisaureus_>DrPizza: which actual vista+ features are they using them?
01:08:49  <piscisaureus_>*then?
01:09:02  <DrPizza>FLS
01:09:33  <DrPizza>in 2010 it GPAs the FLS functions and calls them only on supported platforms
01:09:38  <DrPizza>the VS11 CRT calls them indiscriminately
01:10:08  <piscisaureus_>DrPizza: well I suppose we could work around that with delay loading
01:10:19  <piscisaureus_>DrPizza: just use the TLS equivalents on supported platforms
01:10:31  <DrPizza>no the CRT itself does it and calls the functions
01:10:49  <DrPizza>I don't think you can set them to be delay loaded, it calls them always
01:10:51  <DrPizza>or tries to
01:10:52  <DrPizza>iirc.
01:10:57  <piscisaureus_>DrPizza: yes I know, but delay loading always works right
01:11:06  <piscisaureus_>if you link the crt statically atleast
01:11:35  <DrPizza>I've only messed with delay loading once
01:11:41  <DrPizza>for dbghelp
01:12:14  <piscisaureus_>anyway
01:12:28  <DrPizza>my big concern is
01:12:32  <DrPizza>they're clearly trying to make it hard
01:12:37  <DrPizza>they've removed the compiler from the Windows SDK
01:12:42  <DrPizza>they've removed the compiler from the Windows DDK
01:12:54  <DrPizza>in both cases, they say "use the compiler from VS11 Professional-or-higher"
01:13:04  <DrPizza>And they clearly say "You need VS11 Professional-or-higher for desktop apps"
01:13:14  <DrPizza>so even if the beta VS11 Express can build desktop apps
01:13:25  <DrPizza>I wouldn't put it past them to make sure that RTM cannot
01:14:05  <DrPizza>I mean, there are so many things that they could do to make it difficult/annoying to build desktop apps
01:14:25  * ericktquit (Ping timeout: 244 seconds)
01:14:55  <DrPizza>The CRT has a lot of cruft that WinRT doesn't need, it's strictly legacy stuff
01:15:09  <DrPizza>so they could remove it, so it'd be fine for WinRT apps, but useless for desktop/console apps
01:17:03  <piscisaureus_>yes, WinRT apps are *also* metro apps
01:17:18  <piscisaureus_>there's a lot of stuff you're not allowed to do being a metro guy
01:17:26  <piscisaureus_>so yeah they could just pull it out of vs
01:17:28  <DrPizza>right, I mean winrt as synonymous with metro
01:17:32  <piscisaureus_>but still
01:17:34  <DrPizza>that's not technically true, but it's close enough
01:17:37  <DrPizza>so for example
01:17:47  <DrPizza>I'm sure you remember the CRT junk for passing handles to child processes
01:17:49  <piscisaureus_>I won't miss _exec
01:17:50  <piscisaureus_>and _open
01:18:00  <piscisaureus_>and all that crap
01:18:03  <DrPizza>Metro apps could remove that
01:18:07  <DrPizza>because they can't spawn child processes at all
01:18:09  <piscisaureus_>as long as it has malloc and strpy
01:18:11  <piscisaureus_>and maybe printf
01:18:14  <piscisaureus_>then I'm fine
01:18:20  <DrPizza>gross.
01:18:24  <piscisaureus_>*strcpy
01:18:38  <piscisaureus_>why is that so gross?
01:18:57  <DrPizza>printf is gross
01:19:09  <piscisaureus_>yeah well it's very practical for debugging
01:19:11  <DrPizza>C-strings are gross
01:20:15  <piscisaureus_>huh
01:20:15  <piscisaureus_>next stop, memory is gross
01:20:15  <DrPizza>naw
01:20:15  <piscisaureus_>bits are gastly
01:20:15  <DrPizza>counted strings that manage their own memory are fine!
01:20:17  <piscisaureus_>haha
01:20:29  <piscisaureus_>*shrug*
01:20:39  <piscisaureus_>c++ debate
01:20:45  <piscisaureus_>anyhow, it's probably just a dumb move
01:20:52  <DrPizza>yes
01:20:57  <DrPizza>and one that won't actually do anything to help metro
01:20:59  <piscisaureus_>and I suppose they will not remove the crt
01:21:06  <DrPizza>well
01:21:08  <DrPizza>I hope they won't
01:21:20  <DrPizza>I would still prefer them to reinstate the desktop/command line project types
01:21:32  <piscisaureus_>well if they really kill the desktop then windows is dead
01:21:36  <piscisaureus_>and we can stop caring about it
01:21:53  <DrPizza>I mean it's still stupid
01:21:56  <DrPizza>you can't take VS11 Express
01:22:02  <DrPizza>create a new C++ console project
01:22:10  <DrPizza>and then write a standard hello world
01:22:30  <piscisaureus_>why, is there no /subsystem switch in it?
01:22:47  <DrPizza>you'd have to create one of the supported project types (e.g. WinRT)
01:22:52  <DrPizza>and then mess around with all the switches
01:24:02  <piscisaureus_>yes
01:24:04  <piscisaureus_>stupid
01:25:10  <piscisaureus_>doesn't matter for node tho
01:25:10  <piscisaureus_>we use gyp
01:25:10  <DrPizza>hmm I wonder how it'll work
01:25:11  <DrPizza>I think you'd have to convert the 2010 projects into 11-style ones
01:25:11  <DrPizza>but it might be able to dot hat for you
01:25:30  <piscisaureus_>well, gyp can't generate vs11 projects atm
01:25:35  <piscisaureus_>but I suppose that could be added
01:26:19  <DrPizza>I imagine v8 would be hairy
01:26:24  <DrPizza>part of the frustration is
01:26:31  <DrPizza>it looks like the VS11 compiler is quite good
01:27:08  <piscisaureus_>you mean, it does all this c++11 stuff?
01:27:14  <piscisaureus_>or it generates better code
01:27:20  <DrPizza>both
01:27:29  <DrPizza>microsoft has finally added autovectorization
01:28:49  * ericktjoined
01:33:49  * pieternquit (Quit: pietern)
01:41:21  * ericktquit (Quit: erickt)
01:58:51  * brson_quit (Ping timeout: 244 seconds)
02:36:54  * indexzerojoined
02:54:05  <piscisaureus_>I just found the weirdest thing ever with windows
03:01:01  * iraquit (Quit: Leaving...)
03:10:37  * loladiroquit (Read error: Connection reset by peer)
03:10:40  * loladiro_joined
03:29:51  * c4milo_quit (Remote host closed the connection)
03:46:41  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
04:06:22  * loladiro_quit (Quit: loladiro_)
04:12:50  * loladirojoined
04:20:00  * loladiroquit (Quit: loladiro)
04:33:25  * loladirojoined
04:34:05  * indexzero_joined
04:35:24  * indexzeroquit (Ping timeout: 244 seconds)
04:35:24  * indexzero_changed nick to indexzero
04:53:32  * indexzeroquit (Read error: Connection reset by peer)
04:54:06  * indexzerojoined
04:57:21  * loladiroquit (Quit: loladiro)
05:22:06  * indexzeroquit (Ping timeout: 248 seconds)
05:29:32  * c4milojoined
05:32:54  * paddybyersjoined
05:36:44  * mjr_quit (Quit: mjr_)
06:08:26  * ericktjoined
06:54:48  * avalanche123quit (Ping timeout: 240 seconds)
06:57:04  * avalanche123joined
07:09:28  * c4miloquit (Remote host closed the connection)
07:12:09  * theColequit (Quit: theCole)
07:24:34  * ericktquit (Quit: erickt)
07:51:28  * rendarjoined
07:54:53  * mmaleckijoined
08:18:11  * avalanche123quit (Quit: Computer has gone to sleep.)
08:31:56  * avalanche123joined
08:56:48  * avalanche123quit (Quit: Computer has gone to sleep.)
09:56:26  * mmalecki_joined
09:58:23  * mmaleckiquit (Ping timeout: 252 seconds)
09:58:34  * mmalecki_changed nick to mmalecki
10:14:43  * abraxasquit (Remote host closed the connection)
10:15:15  * abraxasjoined
10:19:42  * abraxasquit (Ping timeout: 248 seconds)
11:01:15  * theColejoined
11:21:24  * bnoordhuisjoined
11:57:46  * piscisaureus_joined
12:05:36  <CIA-155>node: Ben Noordhuis master * r578f69b / (6 files in 3 dirs): deps: upgrade libuv to 28766dc - http://git.io/gpK_MQ
12:15:32  * mmaleckichanged nick to mmalecki[brb]
12:24:21  * `3rdEdenjoined
12:41:14  * `3rdEdenquit (Read error: Connection reset by peer)
12:41:23  * `3rdEdenjoined
12:48:37  * `3rdEdenquit (Read error: Connection reset by peer)
12:48:42  * V1joined
13:03:53  <piscisaureus_>bnoordhuis: ok the proxy seems to be working fine
13:08:22  * irajoined
13:14:21  <bnoordhuis>piscisaureus_: good
14:05:09  * ericktjoined
14:11:05  * c4milojoined
14:16:30  * tunajoined
14:18:09  * tunachanged nick to TooTallNate_
14:20:38  <bnoordhuis>piscisaureus_: https://github.com/piscisaureus/haacked <- what are you up to?
14:26:32  <TooTallNate_>haha, i was wondering the same thing
14:26:33  <tjfontaine>heh
14:27:33  <indutny>I think piscisaureus_ is trying to mimic Egor Homyakov's behaviour
14:27:40  <indutny>and just found some bug in github
14:35:42  * mmalecki[brb]changed nick to mmalecki
14:45:02  <piscisaureus_>bnoordhuis: you have a c9 account?
14:45:06  <piscisaureus_>bnoordhuis: are you logged in?
14:45:11  <bnoordhuis>piscisaureus_: no and no
14:45:15  <piscisaureus_>ah
14:45:29  <piscisaureus_>It is part of a proof of concept c9 hack I just made
14:45:39  <piscisaureus_>but it will be plugged soon
14:45:47  <bnoordhuis>color me interested
14:46:01  <piscisaureus_>I'm not going to tell it here
14:46:04  <piscisaureus_>:-)
14:46:09  <indutny>:)
14:46:17  <indutny>I'm going to remove my c9 account
14:46:27  <indutny>not using it anyway
14:59:19  * avalanche123joined
15:04:03  <avalanche123>piscisaureus_ ping
15:04:23  <piscisaureus_>avalanche123: sup?
15:04:39  <avalanche123>do we do universal builds for libuv on windows?
15:04:52  <piscisaureus_>universal builds?
15:04:58  <avalanche123>32 and 64 bit
15:05:07  <piscisaureus_>That's for managed code only right?
15:05:25  <avalanche123>managed code == shared code?
15:05:54  <avalanche123>err shared library
15:05:57  <piscisaureus_>no it is run by the clr
15:06:19  <piscisaureus_>I don't think universal builds exist for native code
15:07:02  <avalanche123>is acs mentioned we did universal builds on unix building for both arches and then lipo'ing them together
15:07:36  <avalanche123>so I was wondering if something like that existed on windows
15:07:51  <avalanche123>since I was going to add this to gyp as it is currently part of node not libuv
15:07:51  <piscisaureus_>is acs?
15:08:50  <avalanche123>isaacs
15:08:55  <avalanche123>stupid autocorrect
15:09:02  <piscisaureus_>avalanche123: yes, that's a feature that mac has
15:09:12  <piscisaureus_>but it basically creates a sort of archive file with two binaries in them
15:09:18  <piscisaureus_>windows does not support that
15:09:51  <avalanche123>piscisaureus_ I'm just wondering if that should be made an explicit parameter or host arch used to determine build arch for gyp
15:10:03  <avalanche123>on unix gyp builds just force 32 bit atm
15:10:10  <piscisaureus_>really?
15:10:13  <avalanche123>yup
15:10:15  <avalanche123>sec
15:10:16  <piscisaureus_>That would be surprising
15:10:30  <avalanche123>https://github.com/joyent/libuv/blob/master/gyp_uv#L59
15:10:40  <piscisaureus_>aah ok
15:10:54  <piscisaureus_>I don't know if "universal build" is also possible for libaries
15:11:02  <piscisaureus_>ah
15:11:11  <piscisaureus_>I would take a patch for that
15:11:14  <avalanche123>I basically update gyp to build static and shared and wasn't able to load produced dylib because of wrong arch
15:11:20  <avalanche123>luckily, I have one
15:11:34  <avalanche123>https://github.com/joyent/libuv/pull/428
15:11:43  <avalanche123>but that includes shared lib building
15:11:54  <avalanche123>hopefully the diff is easy to read
15:12:11  <piscisaureus_>right
15:12:23  <piscisaureus_>I think ben was going to take a look at that :-)
15:12:41  <piscisaureus_>But I don't know about "universal binary" libraries
15:12:43  <avalanche123>yeah this is unrelated
15:12:47  <avalanche123>gotcha
15:12:57  <avalanche123>so there is no good way of doing it on windows
15:13:02  <piscisaureus_>I don't think that it exists at all, and if so only on mac :-0
15:13:25  <avalanche123>so I think having a target arch parameter is acceptable then
15:13:26  <avalanche123>?
15:13:39  <piscisaureus_>yeah
15:13:45  <avalanche123>cool, thanks a lot
15:13:48  <piscisaureus_>just make it so it defaults to something if unspecified
15:13:54  <avalanche123>yeah
15:13:54  <avalanche123>sec
15:14:09  <avalanche123>https://github.com/avalanche123/libuv/blob/c3095ae29930f51fed164c6115fbf8a5708e7d35/common.gypi#L4
15:14:13  <avalanche123>we already do :)
15:17:12  <DrPizza>piscisaureus_: what is your weirdest thing ever in windows?
15:17:27  <piscisaureus_>DrPizza: subst @: c:\
15:17:33  <piscisaureus_>chdir /d @:\windows
15:18:04  <DrPizza>lol!
15:18:38  * avalanche123quit (Quit: Computer has gone to sleep.)
15:19:23  <DrPizza>piscisaureus_: interestingly, it doesn't even show when you just type "subst"
15:19:39  * ericktquit (Quit: erickt)
15:19:59  <DrPizza>huh
15:20:02  <DrPizza>I can't move back to c:
15:20:09  <DrPizza>oh there we go
15:20:10  <DrPizza>ok
15:22:44  * indexzerojoined
15:22:55  * indexzeroquit (Client Quit)
15:34:47  * TooTallNate_quit (Quit: Leaving...)
15:49:04  * V1quit (Quit: Linkinus - http://linkinus.com)
15:55:54  * isaacsjoined
16:08:46  * ericktjoined
16:12:41  * avalanche123joined
16:18:33  * avalanche123quit (Quit: Computer has gone to sleep.)
16:25:57  * avalanche123joined
16:33:36  * saghulquit (Quit: Bye!)
16:40:35  * TheJHjoined
16:41:08  * tunajoined
16:41:54  * tunaquit (Client Quit)
17:06:52  * ericktquit (Quit: erickt)
17:13:38  * ericktjoined
17:17:55  * tunajoined
17:31:09  * tunaquit (Quit: Linkinus - http://linkinus.com)
17:36:17  <avalanche123>bnoordhuis ping
17:36:27  <bnoordhuis>avalanche123: pong
17:36:50  <avalanche123>I'm setting up testing on travis and seeing error while compiling libuv on ubuntu
17:36:50  <avalanche123>http://travis-ci.org/#!/avalanche123/uvrb/jobs/1435131/L1309
17:36:55  <avalanche123>any ideas?
17:38:05  <bnoordhuis>avalanche123: looks like libuv is building a .a whily ruby expects a .so
17:38:25  <avalanche123>hmm I'm referring to raise KeyError, 'Duplicate basenames in sources section, see list above'
17:39:10  <avalanche123>bnoordhuis do you get that when you run builds?
17:40:00  <bnoordhuis>avalanche123: oh, that. that's an issue with the latest gyp
17:40:12  <bnoordhuis>downgrade a couple of versions and it'll go away
17:40:34  <avalanche123>can you recommend exact revision?
17:41:49  <bnoordhuis>avalanche123: i'm using r1214
17:41:56  <avalanche123>bnoordhuis thanks a lot man
17:42:02  <bnoordhuis>my pleasure
17:49:03  <bnoordhuis>mmalecki: http://travis-ci.org/?_escaped_fragment_=/avalanche123/uvrb/jobs/1435131/L1309#!/ajaxorg/ace <- why does the `git clone git://github.com/ajaxorg/ace.wiki.git` fail?
17:51:17  * avalanche123quit (Quit: Computer has gone to sleep.)
17:52:26  * mikealquit (Quit: Leaving.)
17:53:15  * mikealjoined
17:54:46  * brsonjoined
17:56:50  * mmaleckiquit (Ping timeout: 256 seconds)
17:59:42  * mmaleckijoined
18:15:11  * loladirojoined
18:26:54  <indutny>bnoordhuis: heya
18:27:47  <indutny>bnoordhuis: are we against multiple inheritance
18:27:51  <indutny>bnoordhuis: ?
18:30:38  * mjr_joined
18:33:19  <indutny>or
18:33:22  <indutny>let me think
18:37:50  <piscisaureus_>indutny: yes
18:38:01  <indutny>ok, I think I can do it other way
18:38:24  <indutny>piscisaureus_: I want to add uv_handle_t* UVHandle() method to every HandleWrap derivative
18:38:29  <indutny>and Unwrap()
18:38:45  <indutny>but only after I'll finish implementing stdio stuff
18:39:01  <piscisaureus_>indutny: You should probably use templates :-)
18:39:06  <piscisaureus_>meh, I dunno
18:39:22  <indutny>piscisaureus_: noooo
18:39:26  <indutny>piscisaureus_: templates are borked
18:39:36  <piscisaureus_>indutny: I don't see why you need multiple inheritance for it
18:39:41  <piscisaureus_>I like templates
18:39:49  <piscisaureus_>as long as you don't go too crazy
18:39:58  <indutny>I don't need
18:39:59  <indutny>hahah
18:39:59  <indutny>yes, they ain't panacea
18:48:28  <tjfontaine>look I have a hammer, lemme find some nails!
18:49:52  <piscisaureus_>you just discovered node?
18:50:24  <tjfontaine>heh, I meant more about the templates :)
18:50:37  <piscisaureus_>no, I didn't really tell the whole story
18:50:48  <piscisaureus_>I basically did what indutny wants to do at some point
18:50:50  <piscisaureus_>for domains
18:50:57  <piscisaureus_>and I ended up with templates all over the place
18:51:00  <tjfontaine>ah
18:51:24  <piscisaureus_>but I didn't like it in the end and it never landed
18:51:29  <indutny>piscisaureus_: well, I and Erik was refactoring v8 to add seed number to Dictionaries
18:51:41  <indutny>you know they're in objects.cc file
18:51:48  <indutny>a large one with a lot of templates
18:51:58  <indutny>and that's A BIG PITA
18:52:08  <piscisaureus_>indutny: yeah. so why btw. Will that fix the preseeding with snapshots?
18:52:27  <indutny>piscisaureus_: I think that's not related
18:52:28  * paddybyersquit (Quit: paddybyers)
18:52:35  <piscisaureus_>oh
18:52:39  <piscisaureus_>so why u doing it?
18:52:40  <indutny>piscisaureus_: and even more it's quite non-trivial to seed snapshots
18:52:45  <indutny>piscisaureus_: seeding dictionaries?
18:52:50  <piscisaureus_>yes
18:53:13  <indutny>well, you seeded string hashmaps
18:53:25  <indutny>I and Erik seeded number hashmaps
18:54:18  <piscisaureus_>so why is it needed to seed dictionaries?
18:54:24  <piscisaureus_>what are dictonaries used for?
18:55:24  <indutny>em...
18:55:26  <indutny>for hashmaps
18:55:38  <indutny>hashmap is just more generic term
18:56:11  <indutny>isaacs: hey man
18:56:17  <indutny>isaacs: yt?
18:56:24  <indutny>isaacs: atm, createPipe is creating a 'handle'
18:56:33  <indutny>isaacs: should I return net.Socket instance instead?
18:57:04  * iraquit (Quit: Textual IRC Client: http://www.textualapp.com/)
19:01:08  * TheJHquit (Ping timeout: 245 seconds)
19:03:54  <indutny>piscisaureus_: do you have a minute? (one mroe)
19:03:56  <indutny>s/mroe/more
19:04:02  <piscisaureus_>sure
19:04:14  <indutny>piscisaureus_: ok, so I'm creating pipe_wrap instance
19:04:33  <indutny>piscisaureus_: for each of fds: [0,1,2]
19:04:50  <indutny>piscisaureus_: and then turing them into net.Socket by doing 'new net.Socket({ handle: pipe })'
19:04:55  <piscisaureus_>yep
19:04:56  <indutny>piscisaureus_: after that stdio of parent process just hangs
19:04:57  <indutny>:D
19:06:52  <indutny>actually fd=0 (stdin) is responsible for that
19:06:57  <indutny>(at least it looks like so)
19:07:12  <piscisaureus_>indutny: so come again... I don't understand :-(
19:07:21  <indutny>piscisaureus_: do following thing
19:08:09  <indutny>piscisaureus_: var pipe = new (process.binding('pipe_wrap').Pipe)(false);pipe.open(0);var socket = new net.Socket({ handle: pipe })
19:08:17  <indutny>piscisaureus_: I'm trying to figure out how to make that work
19:08:53  <indutny>piscisaureus_: anyway, how should child_process.spawn(...., {stdio: [0,1,2] }) work?!
19:08:59  <piscisaureus_>oh that
19:09:02  <indutny>should it pipe parent's input to child's one
19:09:09  <indutny>and outputs of child to parents
19:09:12  <piscisaureus_>no
19:09:13  <indutny>s/parents/parent's
19:09:23  <indutny>piscisaureus_: what should it do then?
19:09:33  <piscisaureus_>indutny: if you do that the stdin/stdout/stderr property of the child process object is not set
19:09:40  <indutny>piscisaureus_: why?
19:09:55  <piscisaureus_>indutny: because there is no pipe between the parent and the child
19:10:03  <indutny>argh
19:10:12  <piscisaureus_>instead, the child just inherits fd 0 from the parent
19:10:24  <piscisaureus_>so the child is connected immediately to the parent's parent
19:10:24  <indutny>piscisaureus_: https://gist.github.com/2294039#L33
19:10:29  <piscisaureus_>(or to the terminal)
19:10:39  <indutny>piscisaureus_: so child is receving stdin from tty
19:10:45  <piscisaureus_>yes
19:10:50  <indutny>piscisaureus_: so I should not create socket for that
19:10:51  <piscisaureus_>or, from whatever 0 is in the parent process
19:10:55  <piscisaureus_>exactly
19:11:50  <indutny>ok, it doesn't hang now
19:11:51  <indutny>:D
19:11:51  <piscisaureus_>indutny: it is similar to doing
19:11:52  <piscisaureus_>spawn('foo', [], { stdio: [fs.openSync('some-file', 'r')] })
19:12:00  <piscisaureus_>indutny: the stdin of the child process comes from a file
19:12:02  <indutny>rright
19:12:05  <piscisaureus_>node cannot come between
19:12:18  <indutny>stdio: [0,1,2] will pipe child's output to parent's, right?
19:12:32  <piscisaureus_>well, effectively, yes
19:12:58  <indutny>and child object won't have stdout and stderr properties
19:12:59  <indutny>right?
19:13:02  <piscisaureus_>yep
19:13:07  <indutny>ok
19:13:31  <indutny>piscisaureus_: thank you
19:13:31  <piscisaureus_>indutny: that's actually the case in *all* modes except 'pipe' and 'ipc'
19:13:45  <indutny>piscisaureus_: yes, I understand
19:13:53  <indutny>piscisaureus_: in case where no pipe were created
19:14:00  <piscisaureus_>yep
19:14:11  <indutny>ok, somehow stdio: [0,1,2] doesn't work
19:15:07  <indutny>while I'm definitely giving it to uv
19:15:30  <indutny>as UV_RAW_FD
19:15:32  <indutny>crap
19:15:42  <indutny>bnoordhuis: I need you, master of the unix
19:15:59  <indutny>bnoordhuis: do you have a minute?
19:19:14  <indutny>ah, wait
19:19:20  <indutny>it works
19:19:22  <indutny>crap!!!!
19:19:24  <indutny>cool
19:20:44  <tjfontaine>so what is it crap or cool, your running dialog has me confused :)
19:21:50  <indutny>tjfontaine: it's a cool crap
19:24:13  <indutny>ok, this is where I am so far
19:24:13  <indutny>https://github.com/indutny/node/compare/feature-child-process-stdio
19:24:19  <indutny> /cc piscisaureus_ bnoordhuis isaacs ^
19:24:33  <indutny>please ignore any deps/uv changes
19:24:45  <indutny>I'll use upstream once it'll be available
19:24:50  <tjfontaine>it's funny to watch .gypi to change back and forth
19:25:09  <piscisaureus_>indutny: ok, should I take a look?
19:25:09  <indutny>haha
19:25:12  <indutny>piscisaureus_: yes
19:25:19  <indutny>piscisaureus_: but it works only with unix so far
19:25:24  <piscisaureus_>ok
19:25:31  <indutny>piscisaureus_: though you can try merging igorzi's changes
19:25:35  <indutny>piscisaureus_: if you know where are they located
19:25:40  <indutny>(can't find link)
19:25:42  <piscisaureus_>I don't :-)
19:25:51  <indutny>brb
19:25:54  <piscisaureus_>oh he pasted a link in the chat at some point
19:25:59  <indutny>yes
19:26:00  <indutny>indeed
19:26:11  <piscisaureus_>but that wasn't complete
19:26:25  <piscisaureus_>so Im going to wait for him to be done
19:27:42  * txdvquit (Read error: Connection reset by peer)
19:28:02  * txdvjoined
19:29:05  <indutny>piscisaureus_: should createPipe return handle or socket?
19:29:12  <indutny>piscisaureus_: what do you think?
19:29:25  <piscisaureus_>indutny: it's an internal api right?
19:29:32  <indutny>piscisaureus_: not after my PR
19:29:32  <piscisaureus_>indutny: I thought createPipe was canned
19:29:42  <indutny>piscisaureus_: well, isaacs asked to make it public (in gist)
19:29:47  <indutny>piscisaureus_: though we can consider hiding it
19:30:02  <piscisaureus_>indutny: yes but there was some issue with it so that was canceled again :-)
19:30:07  <indutny>ah
19:30:07  <indutny>ok
19:30:10  <piscisaureus_>indutny: lemme try to remember
19:30:45  <piscisaureus_>hmm I don't recall
19:30:53  <piscisaureus_>but the thing is pointless anyway
19:30:59  <indutny>piscisaureus_: indeed
19:31:11  <piscisaureus_>the only case where it works (and could ever work) is for spawn
19:31:13  <indutny>piscisaureus_: it's just an empty pipe
19:31:16  <piscisaureus_>yes
19:31:16  <indutny>ah
19:31:18  <indutny>no
19:31:22  <indutny>consider following
19:31:23  <piscisaureus_>an unconnected pipe end
19:31:25  <indutny>var p = createPipe();
19:31:40  <indutny>spawn({ stdio: [ ..., p, ... ] }
19:31:49  <indutny>spawn({ stdio: [ p, ... , ...] })
19:31:57  <piscisaureus_>indutny: yeah, that's pointless
19:32:02  <indutny>you think so?
19:32:04  <indutny>ah, yes
19:32:11  <piscisaureus_>so one process will have a broken stdout and the other has a broken stdin :-)
19:32:12  <indutny>I can just use .stdout from the first one
19:32:17  <indutny>hahahaha
19:32:29  <piscisaureus_>indutny: I agree there *could* be a use case for this
19:32:36  <piscisaureus_>var pipes = createPipe();
19:32:44  <piscisaureus_>spawn({ stdio: [ ..., pipes[0], ... ] }
19:32:57  <piscisaureus_> spawn({ stdio: [ pipes[1], ..., ... ] }
19:33:04  <piscisaureus_>but that's another problem :-)
19:33:09  <indutny>ok, I recall discussing that with bnoordhuis
19:33:21  <indutny>you need two uv_pipe_t instances
19:33:25  <piscisaureus_>yep
19:33:27  <indutny>and uv_pipe(uv_stream_t*, uv_stream_t*)
19:33:33  <piscisaureus_>yeah
19:33:35  <piscisaureus_>we don't have that
19:33:42  <indutny>well, that's definitely another case
19:33:46  <indutny>and I think it can be added later
19:33:52  <piscisaureus_>there's hairy cross-platforms issues with that approach
19:34:04  <piscisaureus_>let's first build what we've come up with so far
19:34:11  <indutny>yes
19:34:22  <indutny>also, I'm going to rename _handle => handle in net.js and others
19:34:42  <piscisaureus_>is it going to be publiv?
19:34:45  <indutny>on other hand, I can pickup both .handle and ._handle in child_process
19:34:46  <piscisaureus_>*public?
19:34:52  <indutny>no
19:35:25  <piscisaureus_>D:\libuv>git fsck --full
19:35:25  <piscisaureus_>error: inflate: data stream error (incorrect data check)
19:35:27  <piscisaureus_>wtf
19:35:34  <indutny>great
19:36:28  * TheJHjoined
19:40:25  <indutny>brb
19:40:33  <indutny>(updated PR with some small tweaks)
19:53:39  <indutny>ok, going to watch Hancock
19:53:44  <indutny>ping me in case of any urgency :P
19:54:02  <piscisaureus_>we will find you >;)
19:59:28  * avalanche123joined
20:16:33  <indutny>hahaha
20:16:40  <indutny>piscisaureus_: any news?
20:16:45  <indutny>does it works for you?
20:17:27  <indutny>bnoordhuis: yt?
20:19:08  <indutny>going to be away again
20:19:09  <indutny>:D
20:39:35  <indutny>ok, going to sleep
20:39:36  <indutny>ttyl
20:58:59  <isaacs>indutny: what's up?
20:59:09  * isaacsis on a bunch of drugs, just had a wisdom tooth yanked out
20:59:44  * c4miloquit (Remote host closed the connection)
21:00:49  <avalanche123>bnoordhuis ping
21:30:12  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
21:31:45  * mmaleckiquit (Ping timeout: 252 seconds)
21:35:29  * irajoined
21:39:48  <avalanche123>where does libuv linux gyp build put artifacts? on mac it's under build/Release/libuv.a, is it the same on linux, cause I can't find it?
21:44:06  <bnoordhuis>indutny: pong
21:44:29  <bnoordhuis>avalanche123: out/{Debug,Release}
21:45:50  <pfox__>avalanche123: iirc uv.a is usally in the root of the repo after a successful make
21:45:55  <pfox__>i don't know about gyp, though..
21:46:00  <avalanche123>bnoordhuis sorry to bother you but any idea what I do wrong - http://travis-ci.org/#!/avalanche123/uvrb/jobs/1436851
21:46:17  <avalanche123>I did 'ls -laR' there after the build to show all files
21:47:19  * natahnjoined
21:47:56  * TooTallNatequit
21:47:57  <bnoordhuis>avalanche123: you need to run `make -C out BUILDTYPE=Debug` (or Release)
21:48:07  * natahnchanged nick to TooTallNate
21:48:13  <avalanche123>bnoordhuis so not just make
21:48:14  <avalanche123>ok
22:00:43  * TheJHquit (Ping timeout: 252 seconds)
22:03:56  * paddybyersjoined
22:15:15  * rendarquit
22:16:16  * paddybyersquit (Quit: paddybyers)
22:20:03  * avalanche123quit (Quit: Computer has gone to sleep.)
23:44:38  <CIA-155>libuv: Ben Noordhuis master * r34445d0 / (3 files): test: remove stale UNIX socket before running test - http://git.io/xx-LTw
23:46:41  * travis-cijoined
23:46:41  <travis-ci>[travis-ci] joyent/libuv#322 (master - 34445d0 : Ben Noordhuis): The build passed.
23:46:41  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/28766dc...34445d0
23:46:41  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1438036
23:46:41  * travis-cipart
23:53:51  * isaacsquit (Remote host closed the connection)
23:59:17  <CIA-155>libuv: Ben Noordhuis master * rae9d4c2 / test/test-timer.c : test: add 'is active?' checks to test-timer.c - http://git.io/BA5Gjg