00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:07  * ircretaryjoined
00:01:10  * kazuponquit (Ping timeout: 240 seconds)
00:07:26  * st_luke_quit (Remote host closed the connection)
00:29:49  * defunctzombiechanged nick to defunctzombie_zz
00:37:39  * brsonquit (Quit: leaving)
00:40:04  * st_lukejoined
00:45:12  <txdv>bnoordhuis: use a thread, open up sockets, give the socket fds to the libuv loops?
00:45:25  <txdv>why shouldn't it be fast
00:57:24  * kazuponjoined
01:02:22  * kazuponquit (Ping timeout: 256 seconds)
01:02:45  <bnoordhuis>txdv: uv_accept() gives you a stream handle. you then have to send that handle over a pipe to the other thread
01:03:01  <bnoordhuis>at least, that's how it currently works and it's not really efficient
01:03:14  <txdv>just use the native accept
01:03:24  <txdv>man accept
01:03:36  <bnoordhuis>:-/
01:04:02  <txdv>or make it possible to get the fd from a stream handle
01:05:50  <bnoordhuis>there's a reason it works like that
01:06:04  <bnoordhuis>and it's because things are complicated on windows
01:06:15  <bnoordhuis>apropos nothing:
01:06:17  <bnoordhuis>static inline int mutex_lock(pthread_mutex_t *mutex)
01:06:17  <bnoordhuis>{ while (pthread_mutex_trylock(mutex)); return 0;
01:06:18  <bnoordhuis>}
01:06:38  <bnoordhuis>from memcached.h. that's one way of implementing spinlocks, i guess :-/
01:28:32  <mordy_>hrm, is alloc_cb invoked multiple times before the read callback?
01:29:41  <mordy_>basically i have this chunk of code, i'm assuming that a read callback is invoked after each alloc callback
01:29:44  <mordy_>http://paste.scsys.co.uk/250641
01:31:41  <mordy_>what *seems* to be happening is that alloc_cb isn't called again if the returned buffer is greater than 'suggested_size'
01:32:21  <mordy_>and while this seems to make sense, i don't find it documented anywhere
01:33:09  * AvianFluquit (Remote host closed the connection)
01:38:35  <bnoordhuis>mordy_: the buffer your alloc_cb returns is used only once by libuv and it's handed off to your read_cb when done
01:39:05  <bnoordhuis>there may be a time gap between the calls to alloc_cb and read_cb
01:39:46  <mordy_>hrm, i figured out what i was doing wrong, i think
01:40:22  <mordy_>nread==0 is an indicator the read is done; so i can hinge on that as well
01:41:32  * defunctzombie_zzchanged nick to defunctzombie
01:42:59  <bnoordhuis>mordy_: is that on windows? i don't think uv-unix ever does that
01:43:38  <bnoordhuis>and windows shouldn't either, i think - it's supposed to set nread=-1 and err.code=UV_EOF
01:44:03  <mordy_>bnoordhuis: hrm, the docs say " * `nread` is > 0 if there is data available, 0 if libuv is done reading for now * or -1 on error.
01:44:16  <mordy_>let me add a printf there
01:44:36  <mordy_>nah, scratch that
01:44:38  <mordy_>i'm retarded
01:45:43  <mordy_>i had: if (nread > 0 && sock->read_done == 0 && nread == 0) { return; }
01:45:53  <mordy_>what a load of brilliance right there
01:46:11  <bnoordhuis>ah :)
01:46:40  <bnoordhuis>you're right about the nread==0 thing btw, i guess uv-unix should do that too
01:47:40  <bnoordhuis>oh, it does... okay, never mind
01:48:24  <bnoordhuis>i remembered it set UV_EAGAIN - which it does - but it passes nread=0 to the read cb
01:50:29  <mordy_>ahh that makes sense
01:54:46  <txdv>nread = 0 means the socket is finished
01:54:54  * inolenquit (Read error: Connection reset by peer)
01:55:29  * inolenjoined
01:57:39  <mordy_>ok, gotta run
01:58:09  * kazuponjoined
02:02:34  * kazuponquit (Ping timeout: 240 seconds)
02:13:15  * piscisaureus_joined
02:14:31  * bnoordhuisquit (Ping timeout: 252 seconds)
02:26:50  * brsonjoined
02:36:25  * timoxleyjoined
02:43:33  * st_lukequit (Remote host closed the connection)
02:45:49  * kazuponjoined
03:00:10  * piscisaureus_quit (Ping timeout: 252 seconds)
03:20:57  * bnoordhuisjoined
03:25:16  * bnoordhuisquit (Ping timeout: 240 seconds)
03:35:26  * syskkjoined
03:41:08  * benoitcquit (Excess Flood)
03:45:47  * brsonquit (Quit: leaving)
03:45:58  * benoitcjoined
04:22:43  * timoxleyquit (Quit: Computer has gone to sleep.)
04:24:53  * brsonjoined
04:36:17  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
04:45:11  * timoxleyjoined
04:45:53  * timoxleyquit (Client Quit)
05:04:45  <mordy_>hrm
05:05:00  <mordy_>still can't seem to correlate when and how the alloc cb is called in respect to the read cb
05:06:08  <mordy_>meh, i'll work on this tomorrow
05:06:34  * timoxleyjoined
05:11:49  * timoxleyquit (Quit: Computer has gone to sleep.)
05:21:54  * timoxleyjoined
05:39:06  * kazuponquit (Remote host closed the connection)
05:46:34  * niskaquit (Ping timeout: 246 seconds)
05:49:56  * niskajoined
05:53:43  * tjfontai1ejoined
05:54:57  * chrisdickinsonquit (Ping timeout: 361 seconds)
05:54:57  * tjfontainequit (Remote host closed the connection)
05:55:37  * chrisdicojoined
06:01:53  * amartensjoined
06:09:29  * kazuponjoined
06:10:28  * groundwaterjoined
06:18:42  * kazuponquit (Ping timeout: 240 seconds)
06:32:00  * kazuponjoined
06:34:23  * amartensquit (Quit: Leaving.)
06:50:51  * piscisaureus_joined
06:53:14  * mikealquit (Read error: Connection reset by peer)
06:58:36  * mikealjoined
07:08:06  * stagasjoined
07:14:39  * brsonquit (Ping timeout: 245 seconds)
07:23:02  * kazuponquit (Remote host closed the connection)
07:27:53  * rendarjoined
07:33:02  * rphillipsquit (Quit: ZNC - http://znc.in)
07:34:04  * rphillipsjoined
07:48:44  * piscisaureus_quit (Ping timeout: 240 seconds)
08:23:24  * kazuponjoined
08:27:16  * benoitcquit (Excess Flood)
08:27:55  * kazuponquit (Ping timeout: 246 seconds)
08:32:54  * groundwaterquit (Quit: groundwater)
08:36:43  * paddybyersjoined
08:38:33  * benoitcjoined
08:49:08  * amartensjoined
08:49:16  * amartensquit (Client Quit)
08:53:15  * paddybyersquit (Ping timeout: 252 seconds)
08:55:10  * inolen1joined
08:56:44  * inolenquit (Ping timeout: 245 seconds)
09:24:13  * kazuponjoined
09:29:01  * kazuponquit (Ping timeout: 252 seconds)
09:33:54  * juliangruber_joined
09:46:20  * normanmjoined
10:00:58  * juliangruberquit (Remote host closed the connection)
10:00:58  * juliangruber_changed nick to juliangruber
10:13:25  * travis-cijoined
10:13:25  <travis-ci>[travis-ci] wwwouter/node#7 (master - 6207207 : wwwouter): The build is still failing.
10:13:25  <travis-ci>[travis-ci] Change view : https://github.com/wwwouter/node/compare/b09fccc0cdef...620720701ae0
10:13:25  <travis-ci>[travis-ci] Build details : http://travis-ci.org/wwwouter/node/builds/7506786
10:13:25  * travis-cipart
10:24:59  * kazuponjoined
10:29:41  * kazuponquit (Ping timeout: 252 seconds)
10:30:21  * stagasquit (Read error: Connection reset by peer)
11:17:15  * `3rdEdenjoined
11:25:45  * kazuponjoined
11:28:11  * paddybyersjoined
11:30:16  * kazuponquit (Ping timeout: 246 seconds)
11:30:25  * normanmquit (Quit: Computer has gone to sleep.)
11:31:43  * `3rdEdenquit (Ping timeout: 264 seconds)
11:31:45  * V1joined
11:32:00  * normanmjoined
11:33:25  * V1changed nick to `3E
11:34:39  * paddybyersquit (Ping timeout: 245 seconds)
11:46:05  * paddybyersjoined
12:02:28  * chrisdicoquit (Ping timeout: 246 seconds)
12:03:32  * chrisdickinsonjoined
12:10:23  * st_lukejoined
12:11:07  * luigyquit (Ping timeout: 256 seconds)
12:12:16  * luigyjoined
12:26:22  * kazuponjoined
12:31:07  * kazuponquit (Ping timeout: 264 seconds)
12:35:16  * bnoordhuisjoined
12:46:34  * bnoordhuisquit (Ping timeout: 246 seconds)
13:05:05  * st_lukequit (Read error: Connection reset by peer)
13:22:48  * piscisaureus_joined
13:27:08  * kazuponjoined
13:31:33  * bnoordhuisjoined
13:31:50  * kazuponquit (Read error: Operation timed out)
13:35:54  * hzquit (Ping timeout: 245 seconds)
13:50:54  * bnoordhuisquit (Ping timeout: 245 seconds)
14:06:25  * normanmquit (Quit: Computer has gone to sleep.)
14:14:50  * st_lukejoined
14:26:03  * kevinswiberjoined
14:27:53  * kazuponjoined
14:32:34  * kazuponquit (Ping timeout: 245 seconds)
14:32:34  * kevinswiberquit (Remote host closed the connection)
14:33:08  * kevinswiberjoined
14:37:34  * kevinswiberquit (Ping timeout: 252 seconds)
14:46:51  * kazuponjoined
14:48:26  * AvianFlujoined
14:48:27  * timoxleyquit (Quit: Computer has gone to sleep.)
14:48:41  * AvianFluquit (Client Quit)
14:58:25  * bnoordhuisjoined
15:26:39  * paddybyersquit (Ping timeout: 252 seconds)
15:39:49  * Raynosquit (Ping timeout: 246 seconds)
15:47:55  * syskkquit (Ping timeout: 252 seconds)
15:56:04  * syskkjoined
15:58:28  <piscisaureus_>I didn't know that js string indices were immutable
15:58:34  <piscisaureus_>(even if boxed)
16:04:03  * isaacs_joined
16:04:21  * jez0990_joined
16:04:26  * isaacsquit (Disconnected by services)
16:04:31  * isaacs_changed nick to isaacs
16:04:45  <bnoordhuis>piscisaureus_: why wouldn't they be?
16:05:10  <MI6>joyent/libuv: bnoordhuis created branch cpp-ify - http://git.io/KsY7Zg
16:05:35  <bnoordhuis>piscisaureus_: ^ btw, wdyt? would let us do away with all the reinterpret_cast-ing in node
16:06:00  <piscisaureus_>bnoordhuis: well ECMA-262 5.1 edition P 15.5.5.2 to be precise
16:07:32  <piscisaureus_>bnoordhuis: it works? nothing about function name mangling and all that?
16:07:55  <piscisaureus_>and no ABI difference either?
16:09:09  <bnoordhuis>piscisaureus_: yeah, it works
16:09:25  <bnoordhuis>they're still extern "C" so no name mangling
16:09:37  <piscisaureus_>ah right
16:09:41  <bnoordhuis>and the struct size and layout is identical between c and c++
16:09:45  <piscisaureus_>so the other question is
16:10:29  <bnoordhuis>though it might be worth checking if msvc doesn't do strange things
16:11:59  * `3Equit (Remote host closed the connection)
16:12:49  <piscisaureus_>bnoordhuis: so, well, I like the idea
16:12:57  <piscisaureus_>however legibility is a big concern in the header file
16:13:15  <piscisaureus_>so UV_CHILD_OF sort of makes sense
16:13:27  * tellnes_joined
16:13:32  <piscisaureus_>but I think UV_IF_C in all class definitions will raise a lot of eyebrows
16:14:24  <bnoordhuis>suggestions?
16:17:12  * kazuponquit (*.net *.split)
16:17:14  * Kjerskiquit (*.net *.split)
16:17:15  * jez0990quit (*.net *.split)
16:17:16  * tellnesquit (*.net *.split)
16:17:16  * DrPizzaquit (*.net *.split)
16:17:17  * tellnes_changed nick to tellnes
16:18:11  * Kjerskijoined
16:25:04  <bnoordhuis>piscisaureus_: i could redefine UV_HANDLE_FIELDS to an empty value after uv_handle_s is done with it (same for UV_STREAM_FIELDS etc.)
16:25:15  <bnoordhuis>but that's more gnarly by a wide margin
16:29:12  <bnoordhuis>btw, to check the struct sizes: https://gist.github.com/bnoordhuis/69f9da010126eb4aebd4
16:33:49  * piscisaureus_quit (Ping timeout: 245 seconds)
16:38:13  * DrPizzajoined
17:04:22  * stagasjoined
17:05:20  * piscisaureus_joined
17:08:34  * mikealquit (Quit: Leaving.)
17:09:11  <piscisaureus_>node -pe "'hello'.fontcolor(42)"
17:09:49  * piscisaureus_kicks off 40 days of moaning
17:13:44  * mikealjoined
17:15:03  * hzjoined
17:15:03  * hzquit (Changing host)
17:15:03  * hzjoined
17:17:55  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
17:25:20  * defunctzombiechanged nick to defunctzombie_zz
17:31:39  * mikealquit (Quit: Leaving.)
17:44:27  * kazuponjoined
17:48:49  * kazuponquit (Ping timeout: 245 seconds)
17:49:30  * Raynosjoined
17:58:26  * `3Ejoined
18:06:18  * groundwaterjoined
18:12:43  * st_lukequit (Ping timeout: 276 seconds)
18:14:48  * AvianFlujoined
18:14:55  * groundwaterquit (Quit: groundwater)
18:15:52  * groundwaterjoined
18:16:57  * groundwaterquit (Max SendQ exceeded)
18:29:39  * TooTallNatejoined
18:33:08  * indexzerojoined
18:33:16  * AvianFluquit (Remote host closed the connection)
18:39:01  * indexzeroquit (Ping timeout: 252 seconds)
19:06:58  * kazuponjoined
19:12:31  * kazuponquit (Ping timeout: 276 seconds)
19:21:32  * st_lukejoined
19:29:44  * TooTallNatequit (Quit: ["Textual IRC Client: www.textualapp.com"])
19:30:34  * syskkquit (Quit: syskk)
19:33:48  * `3Equit (Remote host closed the connection)
19:43:27  * groundwaterjoined
19:50:55  * groundwaterquit (Ping timeout: 264 seconds)
20:00:28  * st_lukequit (Remote host closed the connection)
20:01:50  * paddybyersjoined
20:09:06  * kazuponjoined
20:12:36  * mikealjoined
20:13:37  * kazuponquit (Ping timeout: 252 seconds)
20:17:28  * AvianFlujoined
20:21:54  <bnoordhuis>anyone around to review https://github.com/bnoordhuis/node/compare/joyent:v0.10...code-cleanup-potpourri ?
20:22:13  <bnoordhuis>there's no rush, just want to know how people feel about it
20:22:19  <tjfontai1e>smells like a lint commit :)
20:22:42  <bnoordhuis>they are except for the last one
20:23:03  <bnoordhuis>which was what i originally intended to do
20:23:15  <bnoordhuis>but i got kind of side-tracked by various issues i noticed :)
20:23:29  <bnoordhuis>https://github.com/bnoordhuis/node/commit/a19a1a0 is what i mean btw
20:23:59  <tjfontai1e>ya I figured you were referring to the write queue
20:27:03  <tjfontai1e>brb moving clothes to the dryer, but first pass is looking good
20:27:16  <bnoordhuis>sweet, thanks
20:30:33  * `3rdEdenjoined
20:34:25  * tjfontai1echanged nick to tjfontaine
20:34:30  * tjfontainequit (Changing host)
20:34:30  * tjfontainejoined
20:35:12  * kevinswiberjoined
20:36:22  * paddybyersquit (Ping timeout: 276 seconds)
20:36:50  * paddybyersjoined
20:38:42  <tjfontaine>I like the buffer change
20:40:03  <bnoordhuis>is there an implied "but i don't like <x>"? :)
20:40:40  <tjfontaine>heh, there's an implied "I have never been fond of templates" :P
20:41:03  <tjfontaine>the readfloatgeneric change makes me curious how the original code came to be
20:42:16  <bnoordhuis>it may be my doing
20:42:21  <bnoordhuis>let me find the PR
20:43:20  <bnoordhuis>boy, trevor has opened a ton of pull requests already
20:44:14  <tjfontaine>heh
20:44:44  <tjfontaine>ok this all looks sane to me, trevor should be happy to be rid of another ->Set
20:44:55  <tjfontaine>do you have any numbers on the change?
20:45:25  <bnoordhuis>not reliable ones so far
20:45:38  <tjfontaine>nod
20:46:03  <bnoordhuis>i'll see if i can run benchmarks on a quiescent system tomorrow
20:46:32  <bnoordhuis>i should mention it's prep work for a couple of optimizations i'm thinking about
20:46:40  <tjfontaine>I was wondering about doing something similar to the writeQueue change for Timer.now stuff, but it seemed slightly more sane to use uv_now
20:46:53  <tjfontaine>what sorts of optimizations?
20:47:07  <bnoordhuis>short-circuiting the libuv write queue
20:47:57  <bnoordhuis>if the write() succeeds immediately, then we can avoid the overhead of going through the write_completed_queue on the next tick
20:48:11  <tjfontaine>that does seem quite worthy
20:49:18  <bnoordhuis>yeah. someone posted a PR a while ago that did something similar
20:49:34  <bnoordhuis>or rather, the net effect was the same - the approach was rather different
20:50:36  <bnoordhuis>he saw 10-30% speedups on some benchmarks
20:51:01  <tjfontaine>seems like a no-brainer kind of improvement to be had
20:51:22  <bnoordhuis>yeah, but he butchered the libuv api to get it working
20:51:36  <tjfontaine>not our pretty pretty libuv
20:52:23  * dsantiagoquit (Quit: Computer has gone to sleep.)
20:53:01  <bnoordhuis>well, it's mostly that he got it working but without giving any thought to edge cases
20:53:39  * dsantiagojoined
20:54:12  <bnoordhuis>so i plan to adopt his suggestion in spirit if not in actual implementation
20:54:28  <tjfontaine>reasonable
20:56:30  * hzquit
20:58:29  <bnoordhuis>re ReadFloatGeneric, i've no idea why it's like that
20:58:37  <bnoordhuis>guess it slipped through review
20:58:54  <bnoordhuis>https://github.com/joyent/node/pull/4504 <- trevor's first PR. went through a ton of revisions :)
21:02:31  * kevinswiberquit (Remote host closed the connection)
21:03:06  * kevinswiberjoined
21:05:18  * hzjoined
21:07:25  * kevinswiberquit (Ping timeout: 246 seconds)
21:09:45  * kazuponjoined
21:14:09  * kazuponquit (Ping timeout: 240 seconds)
21:22:59  * rendarquit
21:23:21  <tjfontaine>heh
21:48:29  * paddybyersquit (Ping timeout: 256 seconds)
21:48:45  * `3rdEdenquit (Remote host closed the connection)
21:51:08  <tjfontaine>nested `vm` contexts... why oh why
21:52:17  * st_lukejoined
22:02:06  * AvianFluquit (Remote host closed the connection)
22:07:55  * timoxleyjoined
22:11:01  * kazuponjoined
22:16:04  <bnoordhuis>tjfontaine: who what where?
22:16:07  * kazuponquit (Ping timeout: 264 seconds)
22:16:29  <bnoordhuis>ah... a newly reported issue?
22:16:44  <tjfontaine>ya
22:19:18  * `3rdEdenjoined
22:28:03  * paddybyersjoined
22:28:07  * `3rdEdenquit (Ping timeout: 264 seconds)
22:38:04  <MI6>joyent/libuv: Ben Noordhuis v0.10 * b329d51 : unix: stop stream POLLOUT watcher on write error (+1 more commits) - http://git.io/0bOPcA
22:40:22  <MI6>libuv-v0.10: #77 UNSTABLE smartos (2/186) windows (4/187) http://jenkins.nodejs.org/job/libuv-v0.10/77/
22:45:14  <MI6>libuv-v0.10-gyp: #41 UNSTABLE smartos-x64 (2/186) windows-x64 (5/187) smartos-ia32 (2/186) linux-ia32 (1/186) windows-ia32 (3/187) http://jenkins.nodejs.org/job/libuv-v0.10-gyp/41/
22:55:43  * paddybyersquit (Ping timeout: 264 seconds)
22:55:45  <MI6>libuv-node-integration: #72 UNSTABLE linux-ia32 (1/587) smartos-ia32 (1/587) osx-x64 (1/587) osx-ia32 (1/587) smartos-x64 (3/587) http://jenkins.nodejs.org/job/libuv-node-integration/72/
23:01:32  * groundwaterjoined
23:06:23  <tjfontaine>I wonder why tls-hello-parser only times out on smartos
23:11:47  * kazuponjoined
23:13:41  <bnoordhuis>tjfontaine: is it actually progressing?
23:13:57  <bnoordhuis>i mean, do you see activity when you trace it with dtrace/dtruss?
23:14:12  <tjfontaine>I'm not sure, I haven't really investigated, just noticed it in the test output
23:15:40  <tjfontaine>http://jenkins.nodejs.org//job/libuv-node-integration/72/DESTCPU=x64,label=osx//tapTestReport/test.tap-346/ also is somewhat troubling, but twas only an osx issue
23:16:13  * kazuponquit (Ping timeout: 246 seconds)
23:54:15  * hzquit
23:59:22  * dscapequit (Quit: Connection closed for inactivity)