00:03:07  * AvianFluquit (Quit: Leaving)
00:07:32  * benviejoined
00:36:59  * xaqquit (Remote host closed the connection)
00:40:55  * loladiroquit (Quit: loladiro)
00:45:13  * loladirojoined
00:47:02  * ericktquit (Quit: erickt)
00:51:28  * brsonquit (Quit: leaving)
01:14:15  * c4milojoined
01:43:20  * abraxasjoined
02:00:22  <deoxxa>what's the process for using ares from libuv?
02:00:42  <deoxxa>actually, better question: how should i resolve a domain name with libuv?
02:00:48  * loladiroquit (Quit: loladiro)
02:03:27  * mikealjoined
02:03:31  * loladirojoined
02:10:10  * mikealquit (Quit: Leaving.)
03:11:25  * ericktjoined
03:23:46  * c4miloquit (Remote host closed the connection)
03:42:27  * bnoordhuisjoined
03:49:52  * mikealjoined
04:20:43  * mikealquit (Quit: Leaving.)
04:21:47  <bnoordhuis>deoxxa: you were asking questions about compiling libuv yesterday?
04:23:30  <deoxxa>i was, but i got it fixed :)
04:23:44  <deoxxa>https://gist.github.com/2688819 has the problem and the solution
04:23:57  <deoxxa>(in case you want to put a hint in some documentation or whatever)
04:25:42  <bnoordhuis>deoxxa: what did you need _XOPEN_SOURCE=600 for? i think everything we use should be available with _XOPEN_SOURCE=500
04:26:20  <bnoordhuis>seems it couldn't find pthread_rwlock_t?
04:26:54  <deoxxa>yep
04:27:00  <deoxxa>maybe 500 does it as well
04:27:03  <deoxxa>i didn't look too far into it
04:27:16  <deoxxa>tjfontaine gave me the tip about _XOPEN_SOURCE
04:30:01  <bnoordhuis>deoxxa: if you open an issue, i'll add it to the build flags
04:30:10  <bnoordhuis>will have to check if it doesn't break things on other platforms
04:30:20  <bnoordhuis>out of curiosity, what kind of system is it?
04:35:52  <bnoordhuis>compiling with 500 or 600 breaks the build on my linux system...
04:53:04  * mikealjoined
05:00:01  * ericktquit (Quit: erickt)
05:02:22  * mikealquit (Quit: Leaving.)
05:16:13  <deoxxa>bnoordhuis: armeb-linux
05:16:25  <deoxxa>bnoordhuis: toolchain from http://downloads.openwrt.org/kamikaze/7.09/ixp4xx-2.6/OpenWrt-SDK-ixp4xx-2.6-for-Linux-i686.tar.bz2
05:17:07  <deoxxa>bnoordhuis: libuv itself built just fine, but i needed to add the _XOPEN_SOURCE define to build anything that used uv.h
05:20:24  * elijah-mbpjoined
05:20:30  <CIA-155>node: Ben Noordhuis v0.6 * rbd90717 / (src/node.js test/simple/test-child-process-fork-and-spawn.js): node: delete NODE_CHANNEL_FD from env - http://git.io/qX8AMQ
05:27:09  * paddybyersjoined
05:34:06  * isaacsjoined
05:37:39  * perezdquit (Quit: perezd)
05:39:30  * AlbireoX_joined
06:00:16  * isaacsquit (Remote host closed the connection)
06:19:00  * mikealjoined
06:22:51  * loladiroquit (Quit: loladiro)
06:25:53  * felixgejoined
06:25:54  * felixgequit (Changing host)
06:25:54  * felixgejoined
06:49:20  * paddybyersquit (Quit: paddybyers)
07:08:39  * orlandovftwjoined
07:59:24  * bnoordhuisquit (Ping timeout: 272 seconds)
08:04:16  * paddybyersjoined
08:10:12  * hij1nxquit (Quit: hij1nx)
08:27:50  * paddybyersquit (Quit: paddybyers)
08:40:16  * orlandovftwquit (Ping timeout: 245 seconds)
09:21:39  * rendarjoined
09:40:14  * hij1nxjoined
10:10:52  * paddybyersjoined
10:13:33  * paddybyersquit (Client Quit)
10:39:40  * mmaleckijoined
10:45:55  * mmaleckiquit (Quit: leaving)
11:23:05  * loladirojoined
11:25:18  * c4milojoined
11:26:13  * loladiroquit (Client Quit)
11:27:34  * piscisaureus_joined
11:34:22  * hij1nxquit (Quit: hij1nx)
11:35:47  * paddybyersjoined
12:03:07  * irajoined
12:03:07  * iraquit (Changing host)
12:03:07  * irajoined
12:19:30  * loladirojoined
12:32:17  * einarosquit (Ping timeout: 265 seconds)
12:32:30  * einarosjoined
13:00:34  * hij1nxjoined
13:03:27  * abraxasquit (Remote host closed the connection)
13:04:02  * abraxasjoined
13:08:20  * abraxasquit (Ping timeout: 244 seconds)
13:25:03  * AvianFlujoined
13:26:49  * mmaleckijoined
13:30:03  * hij1nxquit (Quit: hij1nx)
13:52:18  * bnoordhuisjoined
14:04:26  * AlbireoX_quit (Read error: Connection reset by peer)
14:06:00  * c4milochanged nick to c4milo|breakfast
14:06:33  * mikealquit (Quit: Leaving.)
14:08:19  * mikealjoined
14:10:08  <CIA-155>node: rsolomo master * rd404159 / (lib/net.js test/simple/test-net-isip.js): net: make isIP() return 0 on empty input - http://git.io/D9ZAiw
14:10:40  <tjfontaine>yay!
14:10:51  <tjfontaine>that makes so much more sense
14:11:14  <piscisaureus_>yeah but this will break net.createConnection(80, "")
14:11:19  <piscisaureus_>lalalala
14:12:41  * mikealquit (Ping timeout: 256 seconds)
14:15:24  * mikealjoined
14:18:19  * c4milo|breakfastchanged nick to c4milo
14:18:33  <piscisaureus_>bnoordhuis: is this supposed to be legal right now?
14:18:33  <piscisaureus_>uv_read_start(handle, cb1)
14:18:33  <piscisaureus_>uv_read_start(handle, cb2)
14:18:46  <piscisaureus_>it doesn't work on windows but I suppose that's kinda lame
14:19:35  <piscisaureus_>Also reporting EINTR when a req is cancelled due to a handle closing is lame too
14:19:48  * mikealquit (Ping timeout: 252 seconds)
14:19:51  <piscisaureus_>ECANCELLED or ECLOSING would be more appropriate
14:22:29  * mikealjoined
14:26:46  * mikealquit (Ping timeout: 252 seconds)
14:28:01  * mmaleckiquit (Ping timeout: 244 seconds)
14:29:32  * mikealjoined
14:31:27  * isaacsjoined
14:33:33  <bnoordhuis>piscisaureus_: yes, but they're not existing error codes
14:34:01  <piscisaureus_>bnoordhuis: luckily we define our own error codes
14:34:11  <piscisaureus_>ECHARSET is also not an error code afaik
14:34:36  * mikealquit (Ping timeout: 272 seconds)
14:35:23  <bnoordhuis>of course
14:35:34  <bnoordhuis>but it doesn't hurt to keep cognitive dissonance down to a minimum
14:35:56  <piscisaureus_>solaris has ECANCELED :-
14:36:19  <piscisaureus_>oh sysv4
14:36:39  * mikealjoined
14:37:39  <bnoordhuis>it exists on linux too
14:37:48  <piscisaureus_>bnoordhuis: I agree about the cognitive dissonance thing.
14:38:10  <piscisaureus_>bnoordhuis: but I think reporting EINTR when that's not what happened doesn't help either
14:38:16  <bnoordhuis>but i don't think strerror() knows about it
14:38:22  <bnoordhuis>no, agreed
14:38:39  <piscisaureus_>uv_strerror knows about it
14:39:19  <bnoordhuis>actually, i used EINTR because i had to come up with something and couldn't think of anything better that day :)
14:39:23  <bnoordhuis>so it's not set in stone
14:40:02  <bnoordhuis>i guess ECANCELED might be appropriate
14:41:34  * mikealquit (Ping timeout: 272 seconds)
14:42:42  <bnoordhuis>hah, that strerror() thing was fixed back in 2002 or 2003
14:42:56  <bnoordhuis>seems i was slightly out of date
14:43:42  * mikealjoined
14:48:03  * mikealquit (Ping timeout: 244 seconds)
14:49:05  <isaacs>bnoordhuis, piscisaureus_: I'm going to land this, unless you have any objections: https://github.com/joyent/node/pull/2772#issuecomment-5686800
14:50:15  <bnoordhuis>isaacs: well.... one thing it does is rename net.Server.connections to net.Server._connections
14:50:18  <bnoordhuis>is that a good thing?
14:50:40  <isaacs>bnoordhuis: it also puts a getter there for net.Server.connections which returns null when using workers
14:50:52  * mikealjoined
14:51:03  <bnoordhuis>oh, so it does
14:51:35  <isaacs>i think there was some discussion about that being a bit unnecessary, but whatever, we can always change that bit back later.
14:51:43  <isaacs>i just wanna get the core feature in.
14:51:49  <bnoordhuis>okay
14:51:55  <bnoordhuis>but... he who merges it, fixes it
14:52:04  <isaacs>heh :)
14:55:30  <CIA-155>node: Andreas Madsen master * r49f16c4 / doc/api/child_process.markdown : doc: move child.send details from child_process.fork to child.send - http://git.io/636E_g
14:55:30  <CIA-155>node: Andreas Madsen master * rdceebbf / (6 files in 3 dirs): child_process: allow sending a net Socket and Server object using child.send - http://git.io/JIfkUA
14:55:30  * mikealquit (Ping timeout: 272 seconds)
15:04:59  * mikealjoined
15:09:21  * mikealquit (Ping timeout: 256 seconds)
15:12:05  * mikealjoined
15:17:02  * mikealquit (Ping timeout: 272 seconds)
15:19:11  * mikealjoined
15:19:57  * mattstevensjoined
15:21:51  * mikeal1joined
15:22:13  * mikealquit (Read error: Connection reset by peer)
15:36:08  <CIA-155>node: ssuda v0.6 * rfb7348a / (9 files in 5 dirs): crypto: add PKCS12/PFX support - http://git.io/RSF6nw
15:36:09  <CIA-155>node: Ben Noordhuis v0.6 * r9b42d7d / test/simple/test-https-pfx.js : test: add https + .pfx client/server test - http://git.io/c7E_fg
15:37:27  <bnoordhuis>ircretary: tell igorzi the pfx stuff landed
15:37:27  <ircretary>bnoordhuis: I'll be sure to tell igorzi
15:48:20  * mmaleckijoined
15:50:20  * theColejoined
15:52:24  <isaacs>bnoordhuis, piscisaureus_, indutny: any objection to moving our check-in call to wednesday this week?
15:52:35  <indutny>isaacs: ok for me
15:52:38  <indutny>isaacs: same time?
15:52:41  <isaacs>yeah
15:53:47  <isaacs>indutny: speaking of which, how's the stdio stuff coming? it looks like there's a bunch of activity on the libuv side.
15:54:12  <indutny>isaacs: yeah, going to work on it tomorrow. should be quite easy to implement (I suppose)
15:54:35  <isaacs>awesome
15:58:39  <indutny>brb
16:02:01  * elijah-mbpquit (Remote host closed the connection)
16:05:25  * theColequit (Quit: theCole)
16:05:29  <piscisaureus_>isaacs: I can't join this will, I will be on vacation from wednesday till sunday
16:05:34  <piscisaureus_>s/will/week/
16:05:52  <isaacs>piscisaureus_: would tuesday work?
16:06:10  <piscisaureus_>isaacs: yep that's fine with me
16:06:16  <isaacs>k
16:06:21  <piscisaureus_>that would be tomorrow :-)
16:06:32  <isaacs>indeed
16:06:44  <isaacs>piscisaureus_: or, if you could give me an update on some of the things you're working on at some point, that'd be good, too
16:06:54  <isaacs>we can do it async :)
16:06:57  <piscisaureus_>isaacs: whichever, I can email you tomorrow
16:07:01  <isaacs>kk
16:07:11  * ericktjoined
16:07:14  <isaacs>thanks, i gotta run.
16:07:20  <piscisaureus_>run, isaac, run
16:07:24  * isaacsruns
16:07:26  * isaacsquit (Remote host closed the connection)
16:08:00  * mikeal1quit (Quit: Leaving.)
16:08:27  * mikealjoined
16:08:28  * dapjoined
16:12:38  * orlandovftwjoined
16:12:55  * mikealquit (Ping timeout: 260 seconds)
16:13:18  <creationix>piscisaureus_, what is a reasonable request-per-second rate for a libuv tcp client that sends a small string to a server and expects a small null terminated string in return?
16:13:36  <creationix>I can't seem to get node > 20K/second or luvit > 30K/second
16:13:45  <creationix>this should be much faster than http right?
16:19:04  <piscisaureus_>creationix: create a new connection every time?
16:19:21  <creationix>no, a single tcp connection
16:19:35  <creationix>I write ~10 bytes to socket, then listen for ~300bytes, then repeat
16:19:45  <creationix>the server is not the bottleneck, the client it
16:19:51  <piscisaureus_>creationix: single threaded server and single threaded client?
16:19:55  <creationix>yep
16:20:27  <creationix>I could try writing the client in pure C libuv and see how fast it is
16:20:39  <piscisaureus_>creationix: the ping pong benchmark does something similar
16:20:43  <creationix>since luvit is ~50% faster
16:21:10  <piscisaureus_>creationix: how much do you get from the ping pong benchmark in libuv?
16:21:31  <piscisaureus_>I think 20/30k is reasonable actually
16:21:41  <creationix>how do I run the built-in benchmarks in libuv?
16:22:09  <piscisaureus_>creationix: not sure, but "make"
16:22:19  <piscisaureus_>then test/run-benchmarks I think
16:22:33  <creationix>`make bench` seems to be doing something interesting
16:22:36  <piscisaureus_>aha
16:22:38  <piscisaureus_>that :-)
16:22:45  <creationix>ping_pong got 22K
16:22:54  * felixgequit (Ping timeout: 272 seconds)
16:23:21  <piscisaureus_>ping-pong sends, then waits for a response, then waits again
16:23:29  <creationix>that just seems so slow, I've seen 120K with http server using luvit on a single core
16:23:36  <creationix>of course that was using pipelining
16:23:40  <creationix>and massive concurrency
16:23:45  <piscisaureus_>creationix: yeah, that's what ping-pongs doesn't do
16:23:53  <piscisaureus_>creationix: you could have luch with disabling nagle btw
16:24:14  <creationix>true, they are small packets
16:24:23  * loladiroquit (Quit: loladiro)
16:24:36  <piscisaureus_>creationix: uv_tcp_nodelay(handle, 1)
16:24:52  <creationix>that's on the server right?
16:24:55  <creationix>or try on both ends?
16:25:01  <piscisaureus_>creationix: I think both
16:25:04  <creationix>btw, my server code is https://gist.github.com/4b71912f266133c69506#file_db.c
16:25:15  <creationix>a very fast fake db for benchmarking
16:25:38  <creationix>runs at a constant 700Kb :)
16:27:31  * loladirojoined
16:30:12  <creationix>piscisaureus_, hmm, adding concurrency doesn't help. The client is still CPU bound
16:30:32  <creationix>(still one core, but 8 concurrent parallel clients each with their own TCP connection)
16:30:34  <piscisaureus_>can you profile the thing
16:30:39  <creationix>I'm in linux
16:30:41  <creationix>not sure how
16:30:46  <piscisaureus_>me neither
16:30:50  <piscisaureus_>probably gprof :-)
16:30:59  <piscisaureus_>but bnoordhuis knows that thing better than i do
16:31:06  <creationix>I used V8's profiler and it didn't reveal much other than I'm calling write and onWrite a lot
16:31:39  <creationix>and the top thing V8 reported was only like 3% total cost anyway
16:31:56  <piscisaureus_>so where's the client?
16:32:24  <piscisaureus_>testdb.js?
16:33:02  <creationix>yeah, and testdb.lua
16:33:06  <creationix>same code really
16:35:45  <piscisaureus_>creationix: I get 48643 ping-pongs/s
16:36:14  <piscisaureus_>both client and server are saturating about 90% of a core
16:36:35  <creationix>hmm, wonder why my ping-pong is so slow
16:36:51  <creationix>I've got Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz
16:36:54  <piscisaureus_>it is typically a little slower on linux
16:37:30  <piscisaureus_>Mine is i7-2636QM @ 2.0ghz
16:38:09  <piscisaureus_>I think this benchmark would really benefit from using edge-triggered io
16:38:16  <piscisaureus_>but that means we have to drop libev
16:38:20  <piscisaureus_>so, a lot of work
16:38:28  <creationix>:)
16:38:38  <creationix>would that be for linux or windows?
16:38:43  <piscisaureus_>for linux
16:38:53  <piscisaureus_>libev is already dropped on windows
16:38:55  <creationix>I'm sure bnoordhuis will get to it eventually ;)
16:39:01  <creationix>heh, good point
16:39:10  <rendar>creationix: why you used also Lua? Lua has bindings to libuv?
16:39:49  <creationix>rendar, I wrote them
16:39:51  <piscisaureus_>rendar: creationix created luvit
16:39:51  <creationix>luvit.io
16:39:53  <piscisaureus_>that
16:39:57  <rendar>oh, i see, cool ;)
16:40:02  <creationix>the vm is slimmer than v8
16:40:07  <creationix>much less overhead
16:40:14  <rendar>creationix: totally agreed
16:40:15  <creationix>and the language is roughly equavalent
16:40:25  <creationix>though node.js is way more mature than luvit.io
16:40:44  <rendar>lua total language is about 800 kb of srcs, very very tiny and fast :)
16:40:52  <creationix>well, I use luajit
16:40:55  <creationix>but still quite slim
16:41:05  <piscisaureus_>creationix: anyway, I think the order of magnitute is expected
16:41:16  <creationix>piscisaureus_, good to know
16:41:22  <creationix>I guess I need up read up on gprof
16:41:36  <piscisaureus_>creationix: I wonder when/where you saw more than 100k/s
16:42:28  <creationix>piscisaureus_, https://github.com/luvit/luvit/blob/master/examples/speed-http.lua and https://github.com/luvit/luvit/blob/master/examples/http-bench.lua
16:42:35  <creationix>http pipelining benchmark
16:43:00  <creationix>but it should be slower than my tcp ping-pong once I add several concurrent clients
16:43:06  <creationix>so I'm not sure what's up
16:43:18  <piscisaureus_>creationix: are you doing keepalive over these http requests?
16:43:22  <creationix>yep
16:43:30  <creationix>keepalive and pipelining
16:43:42  <creationix>so essentially, it's the same as my tcp db example, but with more protocol to parse
16:43:55  <creationix>the fake tcp db supports pipelining too
16:44:00  * elijah-mbpjoined
16:44:07  <piscisaureus_>creationix: so then they are all on the same socket
16:44:20  <creationix>each worker gets it's own persistent socket
16:44:33  <creationix>I get optimial results ~8 workers
16:45:01  <creationix>well, 100 in the http-bench.lua case
16:45:04  <piscisaureus_>creationix: I think when you pipeline over a single sockets you get better results
16:45:20  <creationix>I can't tell much difference
16:45:21  * TooTallNatejoined
16:45:44  <creationix>hmm, I'm not pipelining in the tcp db client
16:45:49  <creationix>I'm waiting on the socket
16:45:56  <piscisaureus_>creationix: yes, that's the problem
16:46:11  <piscisaureus_>creationix: because the kernel is unable to combine small writes to one packet
16:46:31  <piscisaureus_>also, because of nagle, it will take some time before the kernel actually sends your data out
16:46:34  <creationix>yeah, I did notice my packets weren't getting mangled
16:46:51  <piscisaureus_>because it'll wait a little to see if you are going to write more
16:47:23  <creationix>hmm, my http client is waiting too
16:47:42  <creationix>I don't send the next request till I've gotten 44 bytes in the last result https://github.com/luvit/luvit/blob/master/examples/http-bench.lua#L27
16:47:56  <creationix>oh, but those are all on the same connection
16:48:31  <creationix>whatever, I don't know what I'm talking about
16:48:33  <creationix>thanks for the help
16:56:20  * pieternjoined
16:59:41  * loladiropart
16:59:47  * mmaleckiquit (Ping timeout: 240 seconds)
17:03:47  * ericktquit (Quit: erickt)
17:04:34  * avalanche123joined
17:11:43  * perezdjoined
17:14:14  * felixgejoined
17:14:14  * felixgequit (Changing host)
17:14:15  * felixgejoined
17:15:23  * igorzijoined
17:17:40  <igorzi>bnoordhuis: thx for landing the pfx patch
17:19:58  * orlandovftwquit (Ping timeout: 245 seconds)
17:24:01  <piscisaureus_>bnoordhuis: https://github.com/bnoordhuis/node/commits/accept-backoff <-- is there a newer version of this?
17:24:52  * iraquit (Quit: Textual IRC Client: http://www.textualapp.com/)
17:26:05  <indutny>piscisaureus_: dumb question, but how are you creating such links?
17:28:22  * ericktjoined
17:30:21  * mikealjoined
17:31:43  * theColejoined
17:34:37  * brsonjoined
17:43:38  * txdvquit (Read error: Connection reset by peer)
17:43:50  * txdvjoined
17:51:23  * ericktquit (Quit: erickt)
17:52:14  * ericktjoined
17:53:57  <indutny>oh, nvm
17:55:02  * ericktquit (Client Quit)
17:55:29  * ericktjoined
17:57:29  * isaacsjoined
18:11:16  * mikealquit (Quit: Leaving.)
18:11:30  * orlandovftwjoined
18:15:57  * mikealjoined
18:16:38  * hij1nxjoined
18:16:49  * theColequit (Quit: theCole)
18:17:13  <bnoordhuis>igorzi: my pleasure
18:18:14  <bnoordhuis>piscisaureus_: newer in what respect? updated features or rebased against the latest HEAD?
18:18:34  <piscisaureus_>bnoordhuis: I mean, one that actually has the commits?
18:18:51  <piscisaureus_>bnoordhuis: oh wait nvm
18:18:55  <bnoordhuis>haha
18:19:01  <piscisaureus_>bnoordhuis: it's in the libuv upgrade :-)
18:19:32  * loladirojoined
18:20:41  <bnoordhuis>piscisaureus_: is lennart the guy that's working on the autocompleter?
18:21:01  <piscisaureus_>bnoordhuis: yep. He is a former colleague of zef (and now he is again)
18:21:15  <bnoordhuis>okay, cool
18:31:15  * mikealquit (Quit: Leaving.)
18:36:11  <igorzi>indutny: hey, i'm not fully following https://github.com/joyent/libuv/pull/413/files#r814531
18:36:41  <igorzi>indutny: even if we use uv_stream_t instead of uv_pipe_t - it has to be initialized uv_stream_t, right?
18:36:55  <igorzi>piscisaureus_ bnoordhuis: ^
18:36:55  <indutny>igorzi: I don't think so
18:37:03  * loladiroquit (Quit: loladiro)
18:37:20  <indutny>igorzi: uv_spawn creates streams for all stdios
18:37:21  <piscisaureus_>igorzi: I also don't follow. The thing is that uv_spawn *creates* the pipe, so it should know whether it'll be an ipc pipe or not
18:37:52  <igorzi>indutny: you want to pass non-initialized uv_stream_t? how do you know how big it should be?
18:37:54  <indutny>piscisaureus_: well, either you remove IPC flag or keep uv_pipe_t
18:38:12  <piscisaureus_>indutny: it should be a pointer, not an embedded struct
18:38:30  <indutny>piscisaureus_: isn't it?
18:38:38  <indutny>piscisaureus_: https://github.com/joyent/libuv/pull/413/files#L0R1172
18:38:44  <piscisaureus_>indutny: I think in the "current"' implementation people pass the pointer to an uninitialized pipe struct
18:39:08  <indutny>piscisaureus_: have you seen tests: https://github.com/joyent/libuv/pull/413/files#L3R218 ?
18:39:17  <indutny>piscisaureus_: nothing has really changed, except that you can pass more than 3 stdio
18:39:21  <indutny>piscisaureus_: and raw fd
18:39:37  <igorzi>exactly, the tests pass in initialized uv_pipe_t
18:39:52  <igorzi>indutny: are we changing that?
18:39:53  <piscisaureus_>hmm
18:40:04  <indutny>igorzi: aah, will it's initialized
18:40:10  <indutny>igorzi: but doesn't have fd associated with it
18:40:19  <indutny>igorzi: sorry, I'd confused you
18:40:33  <igorzi>indutny: sure.. but whether it's IPC or not is already contained in uv_pipe_t
18:40:39  <igorzi>indutny: hence IPC flag is redundant
18:40:59  <indutny>igorzi: yep, but if we'll move from uv_pipe_t to uv_stream_t - this flag will be mandatory
18:41:10  <indutny>igorzi: therefore I'm asking whether we should remove flag or move to uv_stream_t
18:41:11  <piscisaureus_>indutny: hmm...
18:41:11  <indutny>bnoordhuis: ^
18:41:21  <indutny>uv_stream_t doesn't contain this information
18:41:27  <indutny>probably move this flag to uv_stream_t?
18:41:33  <indutny>errr... not flag, ->ipc property
18:41:47  <indutny>brb, dinner
18:41:55  <igorzi>indutny: then you'd expect spawn to allocate uv_stream_t ?
18:41:58  <piscisaureus_>ah, yeah we could do that
18:42:33  <piscisaureus_>igorzi: no I don't thing spawn() should allocate the pipe
18:42:43  <piscisaureus_>that will be painful when node has to wrap it
18:43:03  <piscisaureus_>so yeah indutny is probably right
18:43:16  <piscisaureus_>if you pass in an uv_stream_t you can't tell if it's ipc or not
18:43:26  <piscisaureus_>however you could check if the type is UV_PIPE and then cast it
18:43:30  <piscisaureus_>so the flag should probably fly
18:43:32  <igorzi>piscisaureus_: but then how would passing uv_stream_t work? it would need to be initialized ahead of time?
18:43:55  <piscisaureus_>igorzi: yeah., that would be needed
18:44:18  <piscisaureus_>so how does that work at the moment
18:44:30  <piscisaureus_>I thought that uv_spawn() would init it but now I am not so sure any more
18:44:47  <piscisaureus_>indutny: https://github.com/indutny/libuv/blob/master/test/test-spawn.c#L152
18:44:51  <piscisaureus_>er, igorzi: https://github.com/indutny/libuv/blob/master/test/test-spawn.c#L152
18:45:02  <piscisaureus_>^-- looks like it is initialized ahead of time
18:45:32  <piscisaureus_>so that means that uv_spawn could just figure out if the pipe was ipc
18:45:39  <igorzi>piscisaureus_: exactly
18:46:03  <igorzi>piscisaureus_: i don't understand why ipc has to move to uv_stream_t if spawn takes uv_stream_t instead of uv_pipe_t
18:46:13  <piscisaureus_>by checking (if (stream->type == UV_PIPE) && ((uv_pipe_t*) stream)->ipc)
18:46:14  <piscisaureus_>yeah
18:46:16  <piscisaureus_>agreed
18:46:21  <igorzi>yep
18:46:34  <piscisaureus_>igorzi: so yeah drop the fag
18:46:36  <piscisaureus_>*flag
18:46:38  <igorzi>k
18:51:01  * hij1nxquit (Quit: hij1nx)
18:51:37  * loladirojoined
18:53:09  * perezdquit (Ping timeout: 265 seconds)
18:55:18  * c4milochanged nick to c4milo|lunch
19:00:03  <isaacs>I'm going to prep a 0.6.18 release.
19:00:10  * hij1nxjoined
19:00:37  <isaacs>anyone got any bug fixes you wanna get in?
19:01:14  <bnoordhuis>i guess we should hold off the accept / cluster thing until the next release
19:02:10  <bnoordhuis>pietern: ^
19:02:15  <bnoordhuis>eh... piscisaureus_ ^
19:04:57  * hij1nxquit (Remote host closed the connection)
19:05:21  * hij1nxjoined
19:13:36  <indutny>drop the fag
19:13:41  <indutny>hahahaha
19:13:47  <indutny>piscisaureus_: very tolerant
19:14:15  * AvianFluquit (Ping timeout: 244 seconds)
19:17:32  * hij1nxquit (Ping timeout: 252 seconds)
19:21:09  * txdvquit (Read error: Connection reset by peer)
19:21:20  * txdvjoined
19:23:13  * AvianFlujoined
19:26:21  <piscisaureus_>bnoordhuis: yeah
19:27:27  * mikealjoined
19:28:38  * `3rdEdenjoined
19:32:49  * ljacksonquit (Read error: Operation timed out)
19:33:15  * ljacksonjoined
19:41:47  * ericktquit (Ping timeout: 240 seconds)
19:42:16  * mikealquit (Quit: Leaving.)
19:45:11  * ericktjoined
19:46:00  * Raynosquit (Excess Flood)
19:46:04  * ericktquit (Remote host closed the connection)
19:50:19  * mikealjoined
19:52:29  * AvianFluquit (Ping timeout: 244 seconds)
19:54:01  * mikealquit (Client Quit)
19:54:07  * AvianFlujoined
19:57:39  * mikealjoined
19:58:59  * mjr_joined
20:11:52  * Raynosjoined
20:14:16  * `3rdEdenquit (Quit: Leaving...)
20:21:19  <piscisaureus_>bnoordhuis: I suppose you didn't do the refcount refactor for uv_poll? :-)
20:22:50  <bnoordhuis>piscisaureus_: heh, no
20:29:05  <piscisaureus_>todo: timer, async, p/c/h/ process, fs_req
20:32:53  * loladiroquit (Quit: loladiro)
20:41:53  <isaacs>piscisaureus_: should i hold off on 0.6.18 for cluster fixes? 0.6.17 had a regression that's hurting the people it set out to help.
20:42:19  <isaacs>i don't think anyone's really using 0.6 cluster anyway.
20:42:34  <isaacs>we just have to get that fixed this month some time.
20:43:21  <tjfontaine>well it's c9 that's pushing for the cluster fix?
20:46:12  <piscisaureus_>isaacs: I don't have time to finish the cluster fix this week, so unless bnoordhuis can fit it real fast, don't wait for it
20:46:33  <isaacs>k, awesome.
20:46:53  <piscisaureus_>awesome is not what I would call it
20:46:58  <piscisaureus_>acceptable, rather
20:49:40  * loladirojoined
20:50:10  <bnoordhuis>the cluster fix works (the effect is observable even on my puny core 2 duo) but it should probably be tested just a little more
20:50:32  <piscisaureus_>imho it should be enabled only when a socket is shared
20:50:58  <bnoordhuis>maybe not even then
20:51:42  <bnoordhuis>the unfairness only kicks in under very specific workloads
20:53:06  <bnoordhuis>i suggest we let people opt in explicitly with a switch / setting / env var
21:02:07  * felixgequit (Quit: felixge)
21:03:15  * felixgejoined
21:03:15  * felixgequit (Changing host)
21:03:15  * felixgejoined
21:05:55  * irajoined
21:06:15  * mikealquit (Quit: Leaving.)
21:08:19  * isaacsquit (Remote host closed the connection)
21:09:13  * mikealjoined
21:12:18  * c4milo|lunchchanged nick to c4milo
21:15:38  * loladiroquit (Quit: loladiro)
21:19:21  * felixgequit (Quit: felixge)
21:19:45  * isaacsjoined
21:24:29  * theColejoined
21:29:54  * mmaleckijoined
21:37:59  * c4milo_joined
21:40:39  * c4miloquit (Ping timeout: 250 seconds)
21:42:11  * bnoordhuisquit (Read error: Operation timed out)
21:47:13  * ericktjoined
21:49:21  * isaacschanged nick to shell
21:49:25  * shellchanged nick to isaacs
21:50:34  * isaacschanged nick to shell
21:50:48  * shellchanged nick to isaacs
21:52:14  * isaacschanged nick to shell
21:52:17  * shellchanged nick to isaacs
22:08:54  * brsonquit (Ping timeout: 265 seconds)
22:11:23  * brsonjoined
22:18:05  * AlbireoXjoined
22:19:59  * rendarquit
22:37:47  * mikealquit (Quit: Leaving.)
22:38:17  * paddybyersquit (Quit: paddybyers)
22:43:37  * mmalecki_joined
22:46:31  * mmaleckiquit (Ping timeout: 245 seconds)
22:51:04  <CIA-155>node: isaacs v0.6 * rea4b1c1 / (4 files in 3 dirs): Upgrade libuv to bc4126b - http://git.io/HhgR6g
22:52:29  * mmalecki_quit (Quit: Reconnecting)
22:52:33  <isaacs>* 52f0c37 Runtime_NotifyDeoptimized should search for function activation in all thread stacks. (vegorov@chromium.org)
22:52:41  <isaacs>piscisaureus_: do you know if there was a bug or something for that^?
22:52:44  * mmaleckijoined
22:52:48  * mattstevensquit (Quit: mattstevens)
22:55:35  * mikealjoined
22:59:00  <piscisaureus_>isaacs: there wasn't
22:59:13  <isaacs>ok
22:59:18  <piscisaureus_>isaacs: basically, that fixes node-fibers :-x
22:59:24  <isaacs>lovely
22:59:35  <isaacs>ok, i don't think i care enough about that to put it in the changelog then
22:59:41  <isaacs>:)
22:59:51  <isaacs>is that unfairly biased, you think?
22:59:58  <piscisaureus_>isaacs: I don't really hate node-fibers
23:00:06  <piscisaureus_>(I really hate threads a gogo btw)
23:00:12  <isaacs>hahah
23:00:16  <isaacs>i don't hate node-fibers either.
23:00:27  <isaacs>i just have a strong feeling of apathy towards it
23:00:39  <piscisaureus_>isaacs: node-fibers could never be part of core as it is, but if js would support them natively I'd be happy to support that
23:00:39  <isaacs>like a korean soap opera for retirees.
23:00:50  <isaacs>i'm sure it's a great show.
23:00:55  <isaacs>at least that's what the old korean ladies say.
23:01:00  <isaacs>but i'll never watch it.
23:05:19  <mmalecki>"This tells you that Node does not take account of OS level caching." #shitjavafolkssay
23:05:32  <mmalecki>https://gist.github.com/2652991#gistcomment-313831
23:11:43  * c4milojoined
23:11:51  <piscisaureus_>this tells that node file io could be more efficent #truth
23:11:53  * c4milo_quit (Read error: Connection reset by peer)
23:12:17  * CoverSlidequit (Read error: Connection reset by peer)
23:12:22  * theColequit (Quit: theCole)
23:19:21  <CIA-155>node: isaacs v0.6.18-release * rb01d214 / Makefile : Escape leading # signs in 'make email.md' - http://git.io/_emtcw
23:19:22  <CIA-155>node: isaacs v0.6.18-release * rbb25001 / (ChangeLog src/node_version.h): 2012.05.15 Version 0.6.18 (stable) - http://git.io/mg0Lww
23:19:30  <isaacs>test, please^
23:21:59  * mikealquit (Quit: Leaving.)
23:22:42  * mikealjoined
23:33:56  * elijah-mbpquit (Remote host closed the connection)
23:37:08  * mmalecki_joined
23:38:42  * perezdjoined
23:40:44  * mmaleckiquit (Ping timeout: 244 seconds)
23:41:04  * mmalecki_quit (Client Quit)
23:41:18  * mmaleckijoined
23:43:31  <AvianFlu>isaacs, https://gist.github.com/a653b58c81bc4720fda1 - two failures, consistently
23:44:21  <isaacs>AvianFlu: this on v0.6.18?
23:44:26  <AvianFlu>yep
23:44:33  <isaacs>AvianFlu: what's process.versions.v8?
23:44:37  <AvianFlu>just a sec
23:45:00  <AvianFlu>3.6.6.25
23:45:06  <isaacs>hm... that's so strange
23:45:44  <isaacs>AvianFlu: what does this output? ./node test/message/stack_overflow.js
23:46:09  <AvianFlu>same output as the failing test
23:46:32  <AvianFlu>the word 'before', and then that weird irrelevant line of code cited
23:46:34  <isaacs>AvianFlu: uname -a =?
23:46:50  <AvianFlu>Linux avianflu 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux
23:46:57  * mmalecki_joined
23:47:01  * mmaleckiquit (Ping timeout: 265 seconds)
23:47:13  * loladirojoined
23:49:01  * elijah-mbpjoined
23:49:34  * loladiroquit (Client Quit)
23:50:52  <isaacs>AvianFlu: compiling on linux now.
23:51:02  <isaacs>AvianFlu: that's really weird, though, because that's what master outputs for that test.
23:51:54  * mmaleckijoined
23:52:22  <isaacs>AvianFlu: that http no headers test seems a little bit racy
23:52:30  <isaacs>i can make it fail, but not reliably
23:52:46  <AvianFlu>three test runs now, same every time here
23:52:51  * ericktquit (Quit: erickt)
23:52:57  <AvianFlu>my local OS itself likely constitutes an edge case
23:53:15  * ericktjoined
23:53:20  <isaacs>make test'ing
23:53:45  * mmalecki_quit (Ping timeout: 260 seconds)
23:53:50  <isaacs>simple/test-regress-GH-1697 failed
23:54:11  <isaacs>simple/test-child-process-fork2 failed
23:54:31  <isaacs>simple/test-http-response-no-headers failed
23:55:25  <AvianFlu>the first two, I see sometimes, as far as the 0.6.x series is concerned
23:55:52  <AvianFlu>I've seen them on .16 and .17, but they're sporadic failures
23:59:03  <isaacs>hm.
23:59:23  <isaacs>test/simple/test-http-response-no-headers.js is super weird.
23:59:30  <isaacs>fails on linux only, afaict