00:03:24  <CIA-53>node: Igor Zinkovsky master * rcc2ac1c / (5 files in 2 dirs): remove node_io_watcher - http://git.io/4-lvFQ
00:07:36  * bradleymeckquit (Ping timeout: 240 seconds)
00:10:16  <piscisaureus>argh. I have to go to bed. bnoordhuis, you too
00:10:56  <bnoordhuis>piscisaureus: yeah, i suppose i should
00:12:19  * dapquit (Quit: Leaving.)
00:22:00  * piscisaureusquit (Ping timeout: 240 seconds)
00:29:51  * isaacsjoined
00:40:06  * piscisaureusjoined
00:42:46  * isaacsquit (Quit: isaacs)
00:46:04  * isaacsjoined
00:55:50  * isaacsquit (Quit: isaacs)
01:12:25  * indexzeroquit (Quit: indexzero)
01:13:38  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:26:35  * sh1mmerquit (Quit: sh1mmer)
01:27:59  * pieternquit (Quit: pietern)
01:30:40  * mikealjoined
01:32:29  * brsonquit (Quit: leaving)
01:36:20  * ericktquit (Quit: erickt)
01:37:25  * bnoordhuisquit (Ping timeout: 260 seconds)
01:41:20  * AvianFluquit (Quit: Leaving)
01:47:55  * mikealquit (Quit: Leaving.)
01:51:30  * ericktjoined
01:55:05  * ericktquit (Client Quit)
02:04:40  * mikealjoined
02:31:03  * sh1mmerjoined
02:47:55  * ericktjoined
02:55:49  * ericktquit (Ping timeout: 240 seconds)
03:07:03  * ericktjoined
03:17:02  * mikealquit (Quit: Leaving.)
03:19:01  * ericktquit (Ping timeout: 240 seconds)
03:41:41  * ericktjoined
03:53:22  * igorzi_joined
04:15:03  <erickt>ryah: you around?
04:15:57  <rmustacc>He's in Tokyo now, so I think you're going to have some odd time zone games to play with him.
04:20:20  <erickt>ah, thanks
04:20:30  <erickt>colloquy gave me the impression he wasn't idle
04:20:48  <rmustacc>No clue, haven't seen him in here.
04:23:56  <erickt>by the way, did you get time to check out my tcp/udp merge branch?
04:24:27  <erickt>It wouldn't be difficult to keep the udp user functions and just merge in the backend
04:25:19  <rmustacc>I did have a chance to take a bit of a look.
04:25:27  <rmustacc>And I guess, I didn't really see much value from it.
04:25:35  <rmustacc>It seemed a bit weird to be basically a stream, but then not really a stream.
04:25:45  <rmustacc>And special casing a bunch of places for just udp.
04:26:09  <rmustacc>But I haven't used the API, so it's hard for me to make much more than vague claims.
04:26:59  <erickt>well, the reason why I ended up going down this path is that I was that I found myself fixing the same bug in the tcp and udp code
04:27:36  <rmustacc>Well, then I wouldn't merge them in at the stream point and break apart what is actually common from what is not.
04:27:53  <rmustacc>It feels weird to see the stream abstraction for me, when I know that udp isn't a stream.
04:29:20  <erickt>Yeah, the reason why I thought it had to be merged was because udp and tcp both share roughly the same arguments, but they aren't subclassed from the same type
04:29:47  <erickt>and so I couldn't do the whole casting trick to cut down on the libev code duplication
04:30:02  <erickt>unless I just passed everything as function arguments
04:32:00  <rmustacc>Well, then the trick is to refactor out the parts that are common to libev.
04:34:08  * AvianFlujoined
04:37:11  <erickt>hm, maybe I could create a private uv__socket_t in include/uv-private/uv-unix.h and cast to that
04:39:00  <rmustacc>I'm not that familiar with the exact internal design, so I'll probably defer to bnoordhuis on internal layout.
04:39:11  <rmustacc>I just know that externally, you do want them to be treated as different things.
04:40:34  <erickt>Oh, or rather than dealing with sublcassing, I could just share a struct between the two
04:40:40  <erickt>Okay, thanks for the help :)
04:43:01  <rmustacc>Well, if there is a lot of commonality between all the libev related stuff, than yes a shared struct could make sens.
04:43:05  <rmustacc>*sense
04:43:50  * ericktis embarassed that he didn't think of that earlier. composition, not inheritance :)
05:39:48  * ericktquit (Quit: erickt)
06:15:03  * piscisaureusjoined
06:24:44  * mikealjoined
07:03:40  * AvianFluquit (Ping timeout: 260 seconds)
07:17:23  * AvianFlujoined
07:40:38  <CIA-53>libuv: Igor Zinkovsky windows-many-accepts * r41686c7 / (4 files in 3 dirs): windows: knob for tuning number of concurrent accept requests - http://git.io/cI5Uxg
07:40:58  <igorzi_>piscisaureus: --^
07:40:59  <igorzi_>piscisaureus: pls review when you get a chance
07:51:05  * sh1mmerquit (Quit: sh1mmer)
07:52:56  * igorzi_quit (Ping timeout: 265 seconds)
08:03:01  * piscisaureus___joined
08:05:37  * piscisaureus___quit (Client Quit)
08:07:18  * piscisaureus_joined
09:37:40  <CIA-53>node: Bert Belder bla * r527f832 / common.gypi : windows: extension support - http://git.io/f0DpwA
09:37:40  <CIA-53>node: Bert Belder bla * rfdf6472 / src/node.h : cleanup - http://git.io/xRBBhg
09:37:42  <CIA-53>node: Bert Belder bla * rb6c3628 / src/node.h : node.h: wrap lines - http://git.io/ykpyLA
09:37:42  <CIA-53>node: Bert Belder bla * r4b95d0c / src/node.h : am winext - http://git.io/XQw6cQ
09:37:42  <CIA-53>node: Bert Belder bla * rae8006f / src/node.cc : am wraplines - http://git.io/LzqSCg
09:39:14  <piscisaureus_>^-- oops. wrong button. branch deleted.
10:39:17  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
10:40:06  * piscisaureus_joined
12:36:24  * ericktjoined
12:52:51  * ericktquit (Quit: erickt)
12:59:57  * piscisaureus_quit (Quit: Leaving.)
13:01:28  * piscisaureus_joined
13:54:42  <piscisaureus_>v8 update broke windows :-(
13:54:47  <piscisaureus_>now I cannot land dlopen
14:00:47  * bnoordhuisjoined
14:12:42  <CIA-53>libuv: Bert Belder dlopen * r487b867 / uv.gyp : Add common.gypi to gyp-generated projects - http://git.io/5eWtOQ
14:12:42  <CIA-53>libuv: Bert Belder dlopen * r6d688d3 / (include/uv.h src/ares/config_win32/ares_config.h): Prepare libuv for shared library build - http://git.io/lwBHhQ
14:12:42  <CIA-53>libuv: Bert Belder dlopen * r721bc72 / (src/uv-common.c src/uv-common.h): Add uv__new_sys_error - http://git.io/CIlBBQ
14:12:42  <CIA-53>libuv: Bert Belder dlopen * r16e0314 / (6 files in 5 dirs): Implement uv_dlopen and friends - http://git.io/FXkJXw
14:14:26  <CIA-53>node: Bert Belder dlopen * r65f4ac6 / src/node.h : Export some functions from node.h (+6 more commits...) - http://git.io/KwyXnQ
14:16:23  <piscisaureus_>https://github.com/joyent/node/compare/master...dlopen
14:16:24  <piscisaureus_>https://github.com/joyent/libuv/compare/master...dlopen
14:16:24  <piscisaureus_>^-- bnoordhuis igorzi: can you review this. Node only compiles when the dlopen branch is checked out into deps/uv
14:25:07  * piscisaureus_offline for a few minutes
14:25:43  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
14:26:28  * piscisaureus_joined
14:51:41  * isaacsjoined
14:53:52  <piscisaureus_>bnoordhuis: review done?
14:54:06  <bnoordhuis>piscisaureus_: yep
14:54:18  <bnoordhuis>should i like you know actually test it?
14:54:34  <piscisaureus_>bnoordhuis: rephrase
14:55:03  <piscisaureus_>bnoordhuis: testing it with an actual extension would be good
14:55:06  <piscisaureus_>I am in a meeting now
14:56:50  <bnoordhuis>piscisaureus_: okay, i'll give it a spin
15:05:38  * bradleymeckjoined
15:13:43  <piscisaureus_>bnoordhuis: works?
15:17:26  <bnoordhuis>piscisaureus_: sorry, something came up
15:19:34  <piscisaureus_>bnoordhuis: please save me those details
15:22:06  <bnoordhuis>piscisaureus_: you'll hear them from your girlfriend
15:23:33  <piscisaureus_>bnoordhuis: oh did you left the curtains open again?
15:23:45  <piscisaureus_>*leave
15:30:49  <CIA-53>libuv: Ben Noordhuis master * rf2c6b41 / (5 files in 4 dirs): unix: have uv_strerror() handle getaddrinfo() errors - http://git.io/T1m0Fw
15:32:55  <CIA-53>node: Ben Noordhuis master * r3dee0e4 / deps/zlib/zlib.gyp :
15:32:55  <CIA-53>node: zlib: compile without -ansi
15:32:55  <CIA-53>node: Source contains C++ / C99 comments, gcc in strict mode doesn't like that. - http://git.io/w3ex6Q
15:37:42  <piscisaureus_>bnoordhuis: so I can land the libuv stuff?
15:40:29  * piscisaureus_quit (Quit: Leaving.)
15:40:49  <bnoordhuis>piscisaureus: i think my commit broke your patch :$
15:41:27  * piscisaureus_joined
15:41:30  * dapjoined
15:41:48  * piscisaureus_quit (Client Quit)
15:47:04  * mikealquit (Quit: Leaving.)
15:47:20  * mikealjoined
15:57:15  <bnoordhuis>piscisaureus: module loading wfm btw
16:02:52  * mikealquit (Read error: Connection reset by peer)
16:02:56  * mikeal1joined
16:24:48  * bradleymeckquit (Ping timeout: 240 seconds)
16:25:15  * mikeal1quit (Quit: Leaving.)
16:25:54  * mikealjoined
16:34:23  * sh1mmerjoined
16:46:34  * sh1mmerquit (Quit: sh1mmer)
16:46:50  * pfox___joined
16:48:22  <pfox___>howdy, quick question: is uv_loop_t* thread safe, or more precisely: assuming one uv_loop_t* per-thread.. can you have more than one in a single process?
16:48:42  <pfox___>putting aside the issue of calling the same uv_loop_t* from multiple threads, which I don't anticipate
16:51:45  * ericktjoined
17:02:36  * AvianFluquit (Quit: Leaving)
17:14:45  * brsonjoined
17:20:17  * isaacsquit (Quit: isaacs)
17:47:43  <igorzi>piscisaureus: yt?
17:49:48  * isaacsjoined
18:09:08  <pquerna>piscisaureus: hey those old libuv cloud servers, kill/keep?
18:11:30  * sh1mmerjoined
18:16:37  * bradleymeckjoined
18:18:06  <igorzi>piscisaureus bnoordhuis isaacs: call today?
18:18:28  <isaacs>sure, i'm game
18:18:41  <isaacs>wanna do skype, or ancient-style phones?
18:19:34  <igorzi>let's try skype?
18:19:59  * ericktquit (Ping timeout: 252 seconds)
18:20:42  <isaacs>k
18:21:39  * AvianFlujoined
18:26:02  * ericktjoined
18:29:03  <isaacs>igorzi: http://npmjs.org/doc/folders.html
18:36:17  <sh1mmer>isaacs: do we have a test case of regular hostnames and IPv4 hosts?
18:36:31  <isaacs>sh1mmer: i dunno
18:36:45  <isaacs>sh1mmer: you mean for url parsing, or for http.request()ing
18:36:46  <isaacs>?
18:39:13  <sh1mmer>yeah
18:39:13  <sh1mmer>I was looking at the tests and I don't see an equivelent of the ipv6 test I'm writing
18:39:14  <sh1mmer>so I wanted to double check before I made one
18:39:26  <igorzi>isaacs: is it possible to install multiple versions of the same module globally?
18:39:32  <isaacs>igorzi: no.
18:39:37  <isaacs>igorzi: not at the top level.
18:40:17  <igorzi>isaacs: you need to do local installs if you want multiple versions, correct?
18:40:40  <isaacs>igorzi: so, if you have multiple versions that are *dependencies*, then that'll work, by nesting.
18:40:55  <isaacs>but even with local installs, you can't have more than one version installed at the same level with the same name.
18:41:00  <isaacs>there's only one ./node_modules/foo
18:41:18  <igorzi>isaacs: yep got it
18:41:20  <isaacs>but there might be ./node_modules/foo/node_modules/bar(1.0.0) and ./node_modules/baz/node_modules/bar(2.0.0)
18:43:45  * sh1mmerquit (Ping timeout: 255 seconds)
18:47:35  * pfox___quit (Ping timeout: 260 seconds)
18:48:20  * igorziquit (Ping timeout: 265 seconds)
18:49:56  * igorzijoined
18:55:48  * mikealquit (Quit: Leaving.)
18:56:00  * sh1mmerjoined
19:15:18  * sh1mjoined
19:19:01  * sh1mmerquit (Ping timeout: 240 seconds)
19:19:02  * sh1mchanged nick to sh1mmer
19:22:13  * pfox___joined
19:22:32  <pfox___>hi.. anyone happen to see my q from earlier about uv_loop_t* and thread safety?
19:41:39  <sh1mmer>I like how the ietf made ipv6 literal address vary a lot
20:06:59  <bnoordhuis>pfox___: a loop is not thread-safe but you can have more than one loop in a process
20:13:03  <CIA-53>node: Ben Noordhuis master * r1d94d4f / doc/index.html : docs: fix home page link to API docs - http://git.io/yxo79A
20:32:32  <CIA-53>node: Zachary Scott master * re35ce7b / doc/api/tty.markdown : docs: tty: stdin must be initialized before calling setRawMode - http://git.io/pppnGA
20:33:53  * sh1mmerquit (Quit: sh1mmer)
20:37:49  <CIA-53>node: Ben Noordhuis master * r004e6fb / doc/api/addons.markdown : docs: addons: fix NODE_SET_METHOD example - http://git.io/43tqNg
20:58:21  <pfox___>bnoordhuis: so basically contain one uv_loop_t* to a given thread and im good?
20:58:53  <bnoordhuis>pfox___: yep, a loop per thread should work just fine
21:15:08  <pfox___>bnoordhuis: and more than one can be blocking within a process via uv_run()?
21:15:24  <pfox___>assuming, as aforementioned, they're thread-isolated?
21:15:47  <bnoordhuis>pfox___: uv_run() will block the thread, not the whole process
21:15:58  <pfox___>great. thanks for the answers.
21:16:08  <bnoordhuis>my pleasure
21:16:39  * AvianFlu_joined
21:19:15  * AvianFluquit (Ping timeout: 260 seconds)
21:22:21  * AvianFlu_changed nick to AvianFlu
21:23:47  <igorzi>bnoordhuis: does simple\test-c-ares.js pass on unix?
21:24:16  <bnoordhuis>igorzi: yes
21:25:03  <igorzi>bnoordhuis: it no longer tests c-ares though (since dns.lookup now uses getaddrinfo)
21:25:54  <bnoordhuis>igorzi: maybe rename the test or merge it with test/internet/test-dns.js?
21:29:05  <igorzi>bnoordhuis: yeah, probably merge with test/internet/test-dns.js is a good idea
21:49:17  <CIA-53>node: Ben Noordhuis master * rccd8b55 / (src/platform_linux.cc wscript): linux: unbreak build if HAVE_MONOTONIC_CLOCK=0 - http://git.io/HIoFyg
21:56:37  * sh1mmerjoined
22:08:12  * ericktquit (Ping timeout: 258 seconds)
22:15:22  * ericktjoined
22:28:47  <ryah>hello
22:32:47  <bnoordhuis>sup ryah
22:32:54  <bnoordhuis>been to any karaoke bars yet?
22:33:35  <bnoordhuis>i would pay good money to see that
22:35:32  <rmustacc>Haha
22:35:42  <rmustacc>bnoordhuis: Next time you're out here, we should just drag him to one.
22:35:47  <sh1mmer>I'm down
22:35:52  * sh1mmerwould also pay money
22:36:30  <CIA-53>node: Igor Zinkovsky master * rf35a396 / (5 files in 2 dirs):
22:36:30  <CIA-53>node: Revert "remove node_io_watcher"
22:36:30  <CIA-53>node: This reverts commit cc2ac1ccc7724b920cbc7bbb777f057ac062028c. - http://git.io/stkuDg
22:44:28  * piscisaureus_joined
22:45:12  * bradleymeckquit (Ping timeout: 240 seconds)
22:51:30  <igorzi>piscisaureus_: can you pls review https://github.com/joyent/libuv/commit/41686c7a34a9c0fce0b27afe53ef580ba20a5524 ?
22:54:33  <CIA-53>libuv: Bert Belder master * r04b3c65 / uv.gyp : Add common.gypi to gyp-generated projects - http://git.io/slTwzg
22:54:33  <CIA-53>libuv: Bert Belder master * re9472fe / (include/uv.h src/ares/config_win32/ares_config.h): Prepare libuv for shared library build - http://git.io/Ga5hvA
22:54:33  <CIA-53>libuv: Bert Belder master * rc985ea4 / (src/uv-common.c src/uv-common.h): Add uv__new_sys_error - http://git.io/SVJ10g
22:54:34  <CIA-53>libuv: Bert Belder master * r90e15f1 / (6 files in 5 dirs): Implement uv_dlopen and friends - http://git.io/5aFxVw
22:56:01  <indutny>ryah: finally, http://codereview.chromium.org/8373029/
22:56:04  <indutny>looks like it works
22:56:07  <indutny>:D
22:57:36  * wankdankerquit (Remote host closed the connection)
22:58:57  <CIA-53>node: Igor Zinkovsky master * r5631549 / test/simple/test-child-process-double-pipe.js : fix simple/test-child-process-double-pipe on windows - http://git.io/rUncVw
23:10:43  <CIA-53>node: Bert Belder master * ra56a95b / src/node.h : Export some functions from node.h (+7 more commits...) - http://git.io/T7bXAA
23:11:07  <piscisaureus_>optimized nonliteral switch in v8 -> awesome!!
23:11:10  <bnoordhuis>piscisaureus_: you forgot to apply the makefile patch
23:11:17  <piscisaureus_>mraleph++
23:11:23  <piscisaureus_>bnoordhuis: eh...?
23:11:26  <piscisaureus_>bnoordhuis: land it!
23:11:46  <piscisaureus_>oh wait... indutny++
23:11:54  <piscisaureus_>indutny += 9000
23:12:26  <CIA-53>libuv: Ben Noordhuis master * re4d6509 / config-unix.mk : build: compile in dl.c on unix - http://git.io/cAyyYw
23:12:33  <bnoordhuis>piscisaureus_: ^
23:12:46  <piscisaureus_>bnoordhuis: so should I update uv in node again?
23:12:53  <bnoordhuis>piscisaureus_: yes
23:19:29  <erickt>speaking of thread-safety, anyone know of a better way to pass requests to libuv that's running in a separate thread? I don't think the tcp/udp write_queue is thread safe, so we're using a thread-safe queue to pass data to the uv thread, which then adds it to it's own queue
23:20:17  * piscisaureus_quit (Read error: Connection reset by peer)
23:20:57  * piscisaureus_joined
23:21:27  <bnoordhuis>erickt: you could use a mutex but you'd have to cover all calls that use that particular loop
23:21:53  <erickt>yuck :)
23:23:01  * ryahis practicing his talk for tdoay
23:23:04  <ryah>vry nervous
23:23:39  <ryah>indutny: wow
23:23:56  <ryah>did you do this?
23:24:15  <ryah>hardcore man
23:31:52  <CIA-53>libuv: Ben Noordhuis master * red2b5e6 / src/unix/core.c : linux: use ioctl(FIONBIO) to set O_NONBLOCK, saves a syscall - http://git.io/EOOOYw
23:32:23  * piscisaureus_quit (Ping timeout: 252 seconds)
23:33:57  <sh1mmer>ryah: good luck
23:34:14  <ryah>sh1mmer: thanks
23:34:28  * piscisaureus_joined
23:34:35  <CIA-53>node: Bert Belder master * r60efa60 / deps/uv/config-unix.mk : Upgrade libuv to e4d6509211 - http://git.io/8OL6Fg
23:37:28  <piscisaureus_>yeah ryah, good luck
23:43:39  * ericktquit (Read error: Connection reset by peer)
23:45:11  <bnoordhuis>piscisaureus_: https://github.com/joyent/libuv/pull/230
23:45:21  <bnoordhuis>maybe amend the commit log
23:46:02  <piscisaureus_>bnoordhuis: amend with what?
23:46:06  <piscisaureus_>bnoordhuis: lgtm btw
23:46:29  <piscisaureus_>bnoordhuis: have you looked at the patch by runner-mei?
23:46:47  <bnoordhuis>piscisaureus_: "Seems setsockopt doesn't know TCP_KEEPALIVE (MinGW)" -> "mingw: use SO_KEEPALIVE instead of TCP_KEEPALIVE", something like that
23:46:50  <bnoordhuis>piscisaureus_: i have
23:49:50  <CIA-53>libuv: Luis Lavena master * r99b512e / src/win/tcp.c :
23:49:51  <CIA-53>libuv: Windows: use SO_KEEPALIVE instead of TCP_KEEPALIVE
23:49:51  <CIA-53>libuv: MinGW doesn't understand the latter. Closes GH-228. - http://git.io/jt3mFw
23:50:14  <piscisaureus_>bnoordhuis: so what were the conclusions?
23:50:33  <bnoordhuis>piscisaureus_: lgtm and igorzi
23:51:21  <piscisaureus_>bnoordhuis: the conclusion was "igorzi" ?
23:51:36  <bnoordhuis>piscisaureus_: looked good to me and igorzi
23:51:59  <bnoordhuis>now you made me spell it out for you :(
23:52:46  <piscisaureus_>ha
23:52:49  <piscisaureus_>aha
23:53:34  <igorzi>bnoordhuis piscisaureus_: is that TCP_KEEPALIVE -> SO_KEEPALIVE patch correct?
23:54:07  <bnoordhuis>don't ask me, ask piscisaureus_
23:54:14  <igorzi>SO_KEEPALIVE for IPPROTO_TCP?
23:54:44  <piscisaureus_>hmm
23:55:36  <piscisaureus_>igorzi: you think it should be SOL_SOCKET?
23:56:25  <igorzi>piscisaureus_: we already do SO_KEEPALIVE for SOL_SOCKET (right above it). if we do TCP_KEEPALIVE, it should be IPPROTO_TCP.
23:56:39  <igorzi>can we just #define TCP_KEEPALIVE for mingw build?
23:57:08  <piscisaureus_>hmm
23:57:10  <piscisaureus_>that's funy
23:57:14  <piscisaureus_>*funky
23:57:28  <piscisaureus_>is there actually a difference between SO_KEEPALIVe and TCP_KEEPALIVE
23:57:34  <piscisaureus_>^-- bnoordhuis igorzi
23:59:32  <bnoordhuis>piscisaureus_: on linux and the bsds there's a difference yes