00:02:31  <bnoordhuis>gicode: in libuv or node?
00:02:43  <bnoordhuis>and what do you mean by receive buffer? the kernel-side buffer?
00:04:32  <gicode>bnoordhuis: Well, I figure I need to figure out the libuv bit first, but I would like to prevent a node Socket 'data' event from giving me too much data to process such that one client stalls other clients.
00:06:10  <bnoordhuis>gicode: that's what .pause() and .resume() are for in node
00:06:37  <tjfontaine>you can also break up your processing into smaller pieces and yield (i.e. process.nextTick)
00:07:36  <gicode>Yeah, I see how I could use a combination of pause()/resume() and process.nextTick(), but then I have to implement more buffering
00:08:13  <bnoordhuis>gicode: how so? if the socket is paused you don't get any data
00:09:09  * EhevuTovquit (Quit: This computer has gone to sleep)
00:09:22  * hzquit
00:11:29  <gicode>bnoordhuis: Well, I need to buffer the socket data up until I hit my limit, and simultaneously push that data into the parser
00:20:12  <CIA-134>libuv: Ben Noordhuis master * r21f2c16 / (3 files in 2 dirs): include: fix macro formatting - https://github.com/joyent/libuv/commit/21f2c1629a242c0d61fcadd485542b8ec22d6988
00:21:25  <piscisaureus_>tjfontaine: yielding with nextTick is now Officially Frowned Upon™
00:21:45  <CIA-134>libuv: Bert Belder v0.8 * r00d2f22 / src/win/process-stdio.c : windows: fix typos in process-stdio.c - https://github.com/joyent/libuv/commit/00d2f22151d5812a58cbae3df8b12e0a52f70e97
00:21:46  <CIA-134>libuv: Bert Belder v0.8 * r39b750c / src/win/process-stdio.c : windows: windows: don't duplicate invalid stdio handles - https://github.com/joyent/libuv/commit/39b750ca7009a5bef6add280d74ca36720d9a491
00:24:02  <gicode>piscisaureus_: What do you mean?
00:24:43  <piscisaureus_>gicode: yielding with nextTick will no longer work in the next version of node:
00:24:46  * perezdjoined
00:24:52  <tjfontaine>piscisaureus_: would a timer make more sense now?
00:24:54  <piscisaureus_>(v0.10)
00:24:56  <gicode>bnoordhuis: The main issue is that a single data event could contain thousands of messages
00:25:08  <gicode>piscisaureus_: What is the "new" way?
00:25:11  <piscisaureus_>tjfontaine: I think we will add something special for it
00:25:14  <tjfontaine>ok
00:25:20  <piscisaureus_>gicode: setTimeout(x, 0) also works
00:25:47  <gicode>piscisaureus_: The docs make that sound evil
00:25:52  * dapquit (Quit: Leaving.)
00:25:53  <CIA-134>libuv: Bert Belder v0.8 * ra1157ce / src/win/process-stdio.c : windows: don't duplicate invalid stdio handles - https://github.com/joyent/libuv/commit/a1157cef3741984bd3b3d9564defadb35bccd20a
00:25:56  <bnoordhuis>it's not
00:26:03  <bnoordhuis>but we should add setImmediate someday
00:26:07  <piscisaureus_>yeah
00:26:24  <piscisaureus_>the downside of setTimeout(0) is that it constructs a timerwrap every time
00:26:46  <bnoordhuis>yes
00:26:47  <tjfontaine>piscisaureus_: no that's setInterval
00:27:00  <tjfontaine>well, I guess it depends on how many you can stick in the queue at one time :)
00:27:06  <piscisaureus_>tjfontaine: I think setTimeout(0) does too
00:28:07  <tjfontaine>setTimeout (wihtout being unref'd) will only create a timerwrap per timeout-bucket
00:28:53  <tjfontaine>setTimeout(x, 100) setTimeout(y, 100) setTimeout(z, 100) all use the same timerwrap
00:29:23  <tjfontaine>but it drops the timerwrap when the bucket is empty
00:30:44  * beachdog_joined
00:30:49  * beachdogquit (Read error: Connection reset by peer)
00:31:34  <piscisaureus_>unwatching all the repos, yay
00:34:42  <tjfontaine>is setImmediate going to become a standard?
00:35:29  <gicode>Ah, I see, nextTick could "jump the queue". Definitely not ideal for a yield type purpose.
00:39:28  <bnoordhuis>tjfontaine: i believe so
00:42:00  <tjfontaine>bnoordhuis: hmm ok, would you see this as being more related to the libuv idle notification or a specialization of timer?
00:42:22  <bnoordhuis>tjfontaine: the latter
00:42:37  <tjfontaine>ok
00:42:40  * philips_quit (Excess Flood)
00:42:55  * philips_joined
01:09:25  * toothrjoined
01:10:01  * toothrotquit (Ping timeout: 240 seconds)
01:11:12  * toothrchanged nick to toothrot
01:17:10  * brsonquit (Read error: Connection reset by peer)
01:17:41  * brsonjoined
01:38:11  * beachdog_quit (Remote host closed the connection)
01:38:37  * beachdogjoined
01:39:10  * abraxasjoined
01:42:29  <piscisaureus_>time to check out
01:43:13  <piscisaureus_>fuck, it's almost 4am again :-(
01:46:32  <bnoordhuis>yep
01:46:45  <bnoordhuis>time for a late night snack first though
01:47:37  * bnoordhuissigns off
01:47:50  * TooTallNatequit (Quit: Computer has gone to sleep.)
01:48:13  * devaholicjoined
01:48:41  * TooTallNatejoined
01:50:09  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
01:51:47  * bnoordhuisquit (Ping timeout: 246 seconds)
01:54:00  * blackorzarquit (Read error: Connection reset by peer)
01:58:04  * xaqjoined
02:01:48  * c4miloquit (Remote host closed the connection)
02:13:15  * joshthecoderjoined
02:13:56  * lohkey_joined
02:13:56  * lohkey_quit (Client Quit)
02:16:39  * lohkeyquit (Ping timeout: 276 seconds)
02:21:00  * TooTallNatequit (Quit: Computer has gone to sleep.)
02:21:57  * bulatshakirzyanojoined
02:36:09  * AvianFluchanged nick to Avian|FISHES
02:43:42  * Avian|FISHESquit (Quit: Avian|FISHES)
02:46:27  * brsonquit (Ping timeout: 245 seconds)
03:23:30  * stagasjoined
03:27:52  * brsonjoined
03:32:29  * philips_quit (Excess Flood)
03:33:28  * philips_joined
03:52:22  * beachdogquit (Remote host closed the connection)
04:22:09  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
04:28:36  * bulatshakirzyanojoined
04:31:14  * xaqquit (Remote host closed the connection)
04:31:45  * bulatshakirzyanoquit (Client Quit)
04:36:13  * bulatshakirzyanojoined
04:44:28  * blackorzarjoined
04:59:32  * stagas_joined
05:00:37  * stagasquit (Ping timeout: 256 seconds)
05:01:50  * stagasjoined
05:04:37  * stagas_quit (Ping timeout: 246 seconds)
05:07:06  * stagas_joined
05:08:26  * stagasquit (Ping timeout: 245 seconds)
05:08:52  * stagas_quit (Read error: Connection reset by peer)
05:13:08  * stagas_joined
05:13:48  * stagas_changed nick to stagas
05:14:04  * dshaw_joined
05:17:55  * stagasquit (Ping timeout: 246 seconds)
05:18:48  * stagasjoined
05:20:39  * stagasquit (Read error: Connection reset by peer)
05:21:10  * stagasjoined
05:28:53  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
05:30:11  * bulatshakirzyanojoined
06:17:01  * blackorzar_joined
06:19:52  * blackorzarquit (Ping timeout: 246 seconds)
06:46:39  * blackorzar_quit (Read error: Connection reset by peer)
06:51:16  * stephankquit (Quit: *Poof!*)
06:54:56  * dshaw_quit (Quit: Leaving.)
07:02:13  * brsonquit (Quit: leaving)
07:02:14  * bulatshakirzyanoquit (Quit: Computer has gone to sleep.)
07:10:26  * `3rdEdenjoined
07:10:58  * mikealjoined
07:13:23  * hzjoined
07:27:18  * rendarjoined
07:38:40  * mikealquit (Quit: Leaving.)
07:40:20  * loladirojoined
07:41:35  * joshthecoderquit (Quit: Leaving...)
08:26:22  * theColejoined
09:37:19  * Benviequit
09:43:26  * felixgejoined
10:41:33  * abraxasquit (Remote host closed the connection)
10:42:32  * abraxasjoined
10:54:40  * Benviejoined
11:11:18  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
11:13:30  * abraxasquit (Remote host closed the connection)
11:14:07  * abraxasjoined
11:19:03  * abraxasquit (Ping timeout: 268 seconds)
11:24:05  * ibcjoined
11:24:18  * ibcpart
11:58:34  * beachdogjoined
12:30:16  * bnoordhuisjoined
12:37:15  * loladiroquit (Quit: loladiro)
12:44:48  * beachdogquit (Remote host closed the connection)
12:45:07  * beachdogjoined
12:47:21  <CIA-134>libuv: Ben Noordhuis master * rbf28aa4 / src/unix/process.c : unix: drop SPAWN_WAIT_EXEC guard in process.c - https://github.com/joyent/libuv/commit/bf28aa4e784785ea4f92dd250b82e24535d5a1df
12:56:17  * travis-cijoined
12:56:17  <travis-ci>[travis-ci] joyent/libuv#537 (master - bf28aa4 : Ben Noordhuis): The build passed.
12:56:17  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/21f2c1629a24...bf28aa4e7847
12:56:17  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2066430
12:56:17  * travis-cipart
12:57:36  <mmalecki>bnoordhuis: hey
12:57:42  <bnoordhuis>mmalecki: ho
12:58:12  <mmalecki>bnoordhuis: http://lwn.net/SubscriberLink/508865/0785b746321ef4f3/ - I was wondering if we could #ifdef TCP_FASTOPEN and use it if it's there
12:58:20  <mmalecki>(or do another sort of feature detection)
12:58:24  <bnoordhuis>mmalecki: i'm way ahead of you
12:58:45  <bnoordhuis>btw, you're a lwn subscriber?
12:59:15  <mmalecki>bnoordhuis: what do you mean by "way ahead of you"?
12:59:46  <mmalecki>also, no, I came from reddit, but I might consider subscribing
12:59:51  <bnoordhuis>i've already been working on fast open support
12:59:56  <mmalecki>ah, sweet!
13:00:22  <mmalecki>bnoordhuis: you think it's worth subscribing?
13:00:47  * piscisaureus_joined
13:01:01  <bnoordhuis>mmalecki: yes, but only if you care about kernel development
13:02:23  <mmalecki>bnoordhuis: I do
13:02:33  <mmalecki>oh, it's cheap!
13:18:41  * devaholicpart ("Leaving")
13:29:24  * piscisaureus_quit (Ping timeout: 276 seconds)
13:36:12  * piscisaureus_joined
13:40:14  * beachdogquit (Remote host closed the connection)
13:47:02  * piscisaureus_quit (Ping timeout: 255 seconds)
13:48:41  <tjfontaine>ya, lwn subscription is well worth it
13:49:14  <tjfontaine>bnoordhuis: is this along the lines of what you were thinking for setImmediate https://github.com/joyent/node/pull/3845
14:07:25  * c4milojoined
14:09:50  * xaqjoined
14:09:53  <bnoordhuis>tjfontaine: i'll look at it later today
14:11:44  <tjfontaine>take your time, I was just curious
14:33:25  * piscisaureus_joined
15:11:59  * mmaleckichanged nick to mmalecki[food]
15:20:23  * piscisaureus_quit (Read error: No route to host)
15:29:39  * xaqquit (Read error: Connection reset by peer)
15:30:09  * xaqjoined
15:37:51  * piscisaureus_joined
15:40:42  <piscisaureus_>isaacs: hey, yt?
15:43:12  * beachdogjoined
15:45:49  <isaacs>hola
15:45:51  <isaacs>what's up?
15:47:26  <isaacs>piscisaureus_: pong
15:52:51  * beachdogquit (Remote host closed the connection)
16:02:15  * TooTallNatejoined
16:10:43  * xaqquit (Read error: Connection reset by peer)
16:11:11  * xaqjoined
16:18:09  <bnoordhuis>piscisaureus_: ping
16:18:20  * TooTallNatequit (Quit: Computer has gone to sleep.)
16:19:19  <bnoordhuis>piscisaureus_: uv_spawn() on windows returns 0 when the CreateProcess call failed, right?
16:23:55  <piscisaureus_>bnoordhuis: yeah
16:23:59  * stephankjoined
16:24:07  <piscisaureus_>bnoordhuis: but it can return -1 in other circumstances
16:24:10  <bnoordhuis>piscisaureus_: i see a comment that it's for unix compatibility?
16:24:29  <piscisaureus_>bnoordhuis: it is. If the file is not found on unix you'll see the error on the stderr
16:24:35  <piscisaureus_>bnoordhuis: so we mimick that on windows
16:24:42  <bnoordhuis>piscisaureus_: yes, but i can fix that
16:24:52  <piscisaureus_>bnoordhuis: ideally we'd switch to a model where exec() errors are reported in a different way
16:29:26  <CIA-134>libuv: Ben Noordhuis report-execve-error * r9c6152c / (4 files in 3 dirs): unix: report execve() errors - http://git.io/ob-xMg
16:29:33  <bnoordhuis>piscisaureus_: ^ something like that
16:29:50  <piscisaureus_>bnoordhuis: the same trick that runjs uses
16:30:19  <piscisaureus_>bnoordhuis: so would we do an 'error' event or throw?
16:30:37  <piscisaureus_>bnoordhuis: I think my preference would be to use an error event, and use that consistently (so never throw from spawn)
16:30:46  <bnoordhuis>piscisaureus_: yes
16:31:40  <piscisaureus_>isaacs: any chance we might have an npm option to *not* install multiple copies of dependencies (provided that the versions are the same)
16:32:00  <piscisaureus_>isaacs: or even - never do that, just complain when multiple versions are needed.
16:33:41  * chobi_e_changed nick to chobi_e
16:42:21  <CIA-134>libuv: Ben Noordhuis report-execve-error * rf227ca6 / (4 files in 3 dirs): unix: report and store execve() errors - http://git.io/bLv4gw
16:42:29  <bnoordhuis>piscisaureus_: ^ i want to land that
16:44:59  <piscisaureus_>bnoordhuis: lgtm, if it workls
16:45:20  <bnoordhuis>always with the demands!
16:45:47  <piscisaureus_>I don't like that uv_spawn runs on the main loop
16:46:19  <piscisaureus_>but that's not fixable...
16:46:23  <bnoordhuis>you mean because it could block for a while if e.g. the binary is on a slow nfs mount?
16:46:30  <bnoordhuis>or that it only works with the main loop?
16:46:57  <piscisaureus_>bnoordhuis: the first
16:47:09  <bnoordhuis>right
16:47:10  <piscisaureus_>bnoordhuis: the main loop issue is being fixed, I know\
16:47:21  <bnoordhuis>moving it to a thread could work
16:47:30  <piscisaureus_>bnoordhuis: well, the pid would not be available
16:47:30  <bnoordhuis>but that's going to be slow
16:48:02  <bnoordhuis>do we guarantee that handle->pid is valid when uv_spawn() returns?
16:48:13  <piscisaureus_>bnoordhuis: well, yes
16:48:18  <piscisaureus_>bnoordhuis: node guarantees this
16:48:28  <bnoordhuis>i kinda figured that
16:48:45  <piscisaureus_>bnoordhuis: on windows this problem is much worse btw, because path scanning also happens on the main loop
16:48:54  <piscisaureus_>bnoordhuis: and, as you know, stat() is not very fast on windows
16:49:18  <piscisaureus_>bnoordhuis: So maybe we could add an event for this, like after_spawn or something
16:49:26  <piscisaureus_>er, *callback
16:49:26  <bnoordhuis>not a bad idea
16:49:49  <piscisaureus_>child_process.kill() could still work in node
16:52:24  * travis-cijoined
16:52:24  <travis-ci>[travis-ci] joyent/libuv#538 (report-execve-error - 9c6152c : Ben Noordhuis): The build failed.
16:52:24  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/commit/9c6152c86512
16:52:24  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2068404
16:52:24  * travis-cipart
16:53:54  * `3rdEdenquit (Quit: Leaving...)
16:54:23  * piscisaureus_quit (Read error: Operation timed out)
16:56:49  * xaqquit (Remote host closed the connection)
17:04:36  <isaacs>ircretary: tell piscisaureus Yes, something like that is intended. mikeal's asked for `npm flatten` to squash everthing to the left, maybe such that it'll fail if you do `--force` and there's any dupes at all.
17:04:37  <ircretary>isaacs: I'll be sure to tell piscisaureus
17:04:57  <isaacs>ircretary: tell piscisaureus just need to write the codes, that's all. ;)
17:04:57  <ircretary>isaacs: I'll be sure to tell piscisaureus
17:06:55  * Benviequit
17:13:34  * travis-cijoined
17:13:34  <travis-ci>[travis-ci] joyent/libuv#539 (report-execve-error - f227ca6 : Ben Noordhuis): The build was fixed.
17:13:34  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/9c6152c86512...f227ca66ef5d
17:13:34  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2068470
17:13:34  * travis-cipart
17:14:40  <creationix>oh no, tootallnate isn't in here!
17:23:37  * TooTallNatejoined
17:23:45  * Benviejoined
17:24:29  * chobi_echanged nick to chobi_e_
17:28:33  * xaqjoined
17:30:03  * perezdquit (Quit: perezd)
17:30:25  <mscdex>creationix: now he is!
17:30:57  * perezdjoined
17:37:01  * lohkeyjoined
17:37:05  * lohkeyquit (Remote host closed the connection)
17:37:41  * lohkeyjoined
17:38:32  * mmalecki[food]changed nick to mmalecki
17:38:51  * joshthecoderjoined
17:41:53  * toothrjoined
17:44:41  * toothrotquit (Ping timeout: 245 seconds)
17:46:23  * \toothrotjoined
17:46:31  * toothrquit (Ping timeout: 240 seconds)
17:56:02  * indutnyquit (*.net *.split)
17:56:03  * sj26quit (*.net *.split)
17:56:03  * ryahquit (*.net *.split)
17:56:03  * tellnesquit (*.net *.split)
17:58:56  * indutnyjoined
17:58:56  * sj26joined
17:58:56  * ryahjoined
17:58:56  * tellnesjoined
18:03:08  * mcavagejoined
18:06:25  * EhevuTovjoined
18:06:57  * EhevuTovquit (Remote host closed the connection)
18:12:03  * brsonjoined
18:25:21  * `3rdEdenjoined
18:27:59  <CIA-134>node: Ben Noordhuis master * r08b382c / tools/install.py : installer: remove c-ares header files - http://git.io/rQ08TA
18:28:14  * EhevuTovjoined
18:29:06  * `3rdEdenquit (Client Quit)
18:29:59  * perezdquit (Quit: perezd)
18:30:48  * perezdjoined
18:31:32  * EhevuTovquit (Client Quit)
18:32:11  * EhevuTovjoined
18:38:32  * EhevuTovquit (Quit: Leaving)
18:39:58  * EhevuTovjoined
18:44:16  * AvianFlujoined
18:50:49  * mcavagequit (Remote host closed the connection)
18:50:59  * felixgequit (Quit: http://www.debuggable.com/)
19:02:40  * beachdogjoined
19:04:13  * stagasjoined
19:05:55  * EhevuTovquit (Quit: Leaving)
19:09:43  * theColequit (Quit: theCole)
19:09:46  * `3rdEdenjoined
19:13:41  * bweaverchanged nick to bweaver_is_ignor
19:14:03  * bweaver_is_ignorchanged nick to weaver_is_away
19:14:48  * weaver_is_awaychanged nick to bweaver
19:19:50  * loladirojoined
19:20:36  <rphillips>anybody know the story on c-ares in libuv?
19:20:46  <mscdex>it's being removed
19:20:50  <tjfontaine>rphillips: it's being moved out
19:21:04  <rphillips>is it still going to be used, just as a subproject?
19:21:28  <tjfontaine>it's going to be used in node for now, but not included with libuv
19:22:36  <rphillips>is the plan to rewrite it for the long term? or use another dns resolving library?
19:23:00  <tjfontaine>rphillips: there's been discussion of using a pure-js solution for node
19:23:04  <rphillips>we just bumped libuv in luvit and I'm curious on the direction to plan for a migration
19:23:20  <rphillips>ok
19:24:07  <tjfontaine>rphillips: bert or bnoordhuis are the ones of course with more information, I'm merely reporting what I've read here over the past few days
19:24:55  <rphillips>np. that information is appreciated. thanks
19:30:35  * mcavagejoined
19:34:03  * KiNgMaRquit (Write error: Connection reset by peer)
19:34:42  * KiNgMaRjoined
19:40:00  * blackorzarjoined
19:40:37  * theColejoined
19:43:54  * indexzerojoined
19:44:07  * theColepart
19:44:21  * AvianFlu_joined
19:45:48  * AvianFluquit (Disconnected by services)
19:45:48  * AvianFlu_changed nick to AvianFlu
19:47:13  * perezdquit (Quit: perezd)
19:50:33  * beachdogquit (Remote host closed the connection)
19:51:52  * AvianFlu_joined
19:51:52  <indutny>bnoordhuis: hey man
19:51:59  <indutny>bnoordhuis: yt?
19:52:23  * AvianFluquit (Disconnected by services)
19:52:24  * AvianFlu_changed nick to AvianFlu
19:54:13  <indutny>bnoordhuis: have you ever worked with PF_ROUTE socket?
19:54:29  * EhevuTovjoined
19:57:51  <indutny>anyone?
19:58:31  <tjfontaine>nothing extensive, but it may be easier for people if you provide a bit more context :)
20:00:40  * AvianFlu_joined
20:00:46  * AvianFluquit (Disconnected by services)
20:00:48  * AvianFlu_changed nick to AvianFlu
20:04:02  <indutny>route: writing to routing socket: Invalid argument
20:04:04  <indutny>:D
20:04:09  <indutny>when running `route get`
20:04:10  <indutny>and
20:04:21  <indutny>errno=22 when trying to write to this socket
20:05:11  * `3rdEdenquit (Quit: Leaving...)
20:05:43  <indutny>I'm trying to get gateway address by writing/reading to this system socket
20:06:11  <indutny>tjfontaine: any ideas?
20:08:09  <tjfontaine>I don't but now maybe someone else here will who might will answer :)
20:10:00  * AvianFlu_joined
20:10:22  <indutny>haha
20:10:32  <indutny>ok, it seems that I'm sending incorrect data to kernel
20:10:36  * piscisaureus_joined
20:10:39  <indutny>though, it's not really documented
20:10:41  * AvianFluquit (Disconnected by services)
20:10:42  * AvianFlu_changed nick to AvianFlu
20:10:44  <indutny>piscisaureus_: hey man
20:10:54  <indutny>piscisaureus_: PF_ROUTE <- does it look familiar to you?
20:13:20  <piscisaureus_>indutny: nope
20:13:30  <indutny>ok
20:13:30  <indutny>:)
20:14:01  * piscisaureus_changed nick to piscisaureus
20:14:58  <piscisaureus>rphillips: https://github.com/joyent/libuv/issues/518
20:17:36  <rphillips>hah. I did check the mailing list
20:17:41  <rphillips>didn't see anything. thanks
20:18:06  <piscisaureus>rphillips: the mailing list?
20:18:21  <piscisaureus>rphillips: ah the node one...
20:19:20  <piscisaureus>bnoordhuis: I think in the current setup ares headers are not exported from node
20:19:26  <rphillips>what was the issue with c-ares?
20:19:28  <piscisaureus>er, ares symbols
20:20:05  <piscisaureus>rphillips: nothing in particular, but it was like half of the library while many people weren't using it
20:20:17  <piscisaureus>rphillips: and node might move to a pure-js dns implementation
20:21:49  * indexzeroquit (Quit: indexzero)
20:22:44  <rphillips>ah I see
20:22:58  * TooTallNatequit (Quit: Computer has gone to sleep.)
20:24:21  * TooTallNatejoined
20:24:25  * bradleymeckjoined
20:32:09  * bradleymeckquit (Quit: bradleymeck)
20:35:22  <txdv>hey guys
20:36:17  <txdv>piscisaureus: shouldn't libuv contain a list of all the bindings?
20:36:32  <piscisaureus>txdv: well... libuv itself?
20:36:42  <piscisaureus>txdv: creating a wiki page would be okay
20:39:34  <bnoordhuis>indutny: i'm here. what do you want to know about PF_ROUTE?
20:39:48  <bnoordhuis>indutny: btw, is this a linux specific question?
20:41:37  <bnoordhuis>txdv: there's also https://github.com/nikhilm/uvbook
20:42:16  <txdv>Should I add it in here or better on the wiki page of libuv?
20:42:29  <bnoordhuis>txdv: why not both?
20:43:20  <txdv>ok
20:47:44  <txdv>I have a question regarding node.js
20:48:12  <txdv>Well less of a question, more like an evaluation
20:48:12  <piscisaureus>txdv: https://github.com/joyent/libuv/wiki/Projects-that-use-libuv
20:48:50  <txdv>I want it to integrate into a gaming engine, basically uv_async_run (which is achievable with uv_async and uv_run_once) easily
20:49:19  <piscisaureus>txdv: ehm ..
20:49:33  <piscisaureus>txdv: I don't really understand what that would do
20:50:09  <txdv>Em, the game engine is basically a while loop which runs through all the calculations creating all the fps
20:50:26  <txdv>There is an event like post frame and I need basically to call the event loop of libuv
20:50:43  <txdv>But I want to integrate the node.js so one can use javascript to code
20:51:00  * blackorzar_joined
20:52:08  <rphillips>hate to toot my own horn, but luvit might be a better fit
20:52:09  <txdv>i guess ill look into it and complain later on
20:52:31  <bnoordhuis>txdv: is this is a "i want to integrate two event loops" question?
20:52:40  <bnoordhuis>minus one 'is'
20:52:52  <tjfontaine>for the most part I would say yes
20:52:56  <txdv>only one
20:53:48  <txdv>well really there is no question, since I have to investigate how the code is structured in node.js
20:53:56  * blackorzarquit (Ping timeout: 248 seconds)
20:54:11  <txdv>I guess I will ahve problems because everything is in the main and what I need is to have a function which I can call on each frame for the event loop to process stuff
20:54:45  <bnoordhuis>txdv: node doesn't play nice so to speak, it never leaves the event loop
20:55:05  <bnoordhuis>but you can create an idle handle which will stop it from blocking
20:55:14  <bnoordhuis>then drive your app from inside the idle cb
20:55:33  <txdv>Yeah, I would need some initialization function, a function I can call for the uv_run_once (+sending async so it leaves immediately) and a deinitilization function
20:56:12  <txdv>and now I guess everything is thrown into the main function
20:57:00  <txdv>rphillips: I have thought about it, I am developing LibuvSharp on my own, the problem is that there are already so many libs I will never be able to port to C# because of the lack of time, I guess the same is true for lua
21:00:51  <txdv>A ok, I just looked on the code, it will be incredible easy to do that
21:10:26  * perezdjoined
21:11:51  <CIA-134>node: Ben Noordhuis master * r5fba3b8 / lib/fs.js : fs: fix ReferenceError in truncateSync() - http://git.io/h-N-ZA
21:16:13  <bnoordhuis>anyone else have 3 failures on test-pummel?
21:17:05  <piscisaureus>txdv: you can just do it the other way around
21:17:19  <piscisaureus>txdv: create an uv_idle and render a frame in it
21:17:35  <piscisaureus>txdv: (or a uv_timer even)
21:17:47  <bnoordhuis>txdv: ^ that's what i meant
21:19:10  * beachdogjoined
21:20:59  * indexzerojoined
21:21:18  * indexzero_joined
21:21:55  <CIA-134>libuv: Ben Noordhuis master * r13467a4 / (4 files in 3 dirs): unix: retrieve execve() errors in process.c - http://git.io/qkjNxQ
21:21:56  <CIA-134>libuv: Ben Noordhuis master * r47f496a / src/unix/process.c : unix: simplify stdio handling in process.c - http://git.io/CHfnWw
21:21:57  <CIA-134>libuv: Ben Noordhuis master * rd4737ab / src/unix/process.c : unix: remove dead code in process.c - http://git.io/V1AyRQ
21:22:46  <isaacs>bnoordhuis: good catch on truncateSync
21:22:50  <isaacs>sorry bout that
21:23:08  <bnoordhuis>no worries, i missed it in the review :)
21:23:08  <piscisaureus>bnoordhuis: did you fix windows already?
21:23:14  <isaacs>bnoordhuis: i posted issues about hte test-pummel failures i was seeing
21:23:25  <bnoordhuis>isaacs: apparently it's commit 4e5fe2d45aef5aacf4a6c6c2db28f0b9cc64f123
21:23:27  <isaacs>bnoordhuis: one segv (that i think someone else posted as well?) and another thing i don't recall
21:23:45  <bnoordhuis>yeah, the segfault is the merge of v0.8 into master
21:23:45  * indexzeroquit (Read error: Connection reset by peer)
21:23:45  * indexzero_changed nick to indexzero
21:24:04  <isaacs>bnoordhuis: what's wrong with 4e5fe2d45aef5aacf4a6c6c2db28f0b9cc64f123?
21:24:09  <isaacs>bnoordhuis: the pummel failure?
21:24:18  <bnoordhuis>pummel/test-net-connect-econnrefused and pummel/test-net-throttle seems to have been caused by 'nextTick: Handle tick callbacks after each tick'
21:24:37  <bnoordhuis>according to git bisect
21:24:46  <isaacs>right
21:24:51  <piscisaureus>let's rename the master branch to 'masta'
21:24:58  <isaacs>are those tests using nextTick?
21:25:29  <bnoordhuis>yes
21:25:56  <isaacs>hm, pummel/test-net-throttle doesn't seem to
21:26:03  <bnoordhuis>no, indeed
21:26:20  <isaacs>and the nextTick in pummel/test-net-connect-econnrefused is a little bit confusing...
21:26:25  <isaacs>why are there 2?
21:29:11  <bnoordhuis>hmm, apparently pummel/test-net-throttle has been broken for a lot longer...
21:29:52  <bnoordhuis>isaacs: i think it's because it may take two ticks for the connect req to finish
21:30:05  <bnoordhuis>i recall putting an explaining comment in there but apparently not
21:32:30  <bnoordhuis>compiling, compiling...
21:34:07  <bnoordhuis>apparently, it's broken since at least 0.8.1
21:34:23  <bnoordhuis>i'm not going back further :)
21:40:25  * piscisaureusquit (Read error: Connection reset by peer)
21:41:07  * piscisaureus_joined
21:42:47  * rendarquit
21:50:31  * skmpyjoined
21:56:03  <isaacs>bnoordhuis: what if you replace the nextTick with setTimeout(0)
21:56:03  <isaacs>?
21:58:37  <piscisaureus_>bnoordhuis: hey
21:58:38  <piscisaureus_>bnoordhuis:
21:58:39  <piscisaureus_>options.file = options.args[0] = "program-that-had-better-not-exist";
21:58:39  <piscisaureus_> ASSERT(0 == uv_spawn(uv_default_loop(), &process, options));
21:58:46  <piscisaureus_>bnoordhuis: the return value should be -1
21:59:06  <bnoordhuis>piscisaureus_: i thought we agreed that the error should be delivered async?
21:59:11  <piscisaureus_>oh
21:59:13  <piscisaureus_>heh
21:59:31  <piscisaureus_>bnoordhuis: that was about node... so what callback should get the error then?
21:59:59  <bnoordhuis>piscisaureus_: the way i do it now is by setting an error before calling process_cb
22:00:29  <bnoordhuis>piscisaureus_: take a look at the test, it's two lines below that assert
22:00:41  <piscisaureus_>bnoordhuis: k
22:02:53  * blackorzarjoined
22:05:45  * indexzeroquit (Quit: indexzero)
22:06:47  * blackorzar__joined
22:06:50  * blackorzar_quit (Ping timeout: 246 seconds)
22:07:43  <CIA-134>node: Ben Noordhuis master * r6770555 / test/pummel/test-net-throttle.js : test: raise pummel/test-net-throttle write req size - http://git.io/zDdrFg
22:08:35  <bnoordhuis>isaacs: doesn't help
22:09:03  <bnoordhuis>but i'll figure it out
22:09:06  <bnoordhuis>eventually
22:09:14  * blackorzarquit (Ping timeout: 248 seconds)
22:12:49  * hzquit
22:13:25  <piscisaureus_>bnoordhuis: what about we call the exit cb with exit_code == -1 when spawn fails
22:13:39  <piscisaureus_>127 may be very backward compatible but not very obvious
22:16:24  <bnoordhuis>piscisaureus_: i can live with that
22:16:52  <piscisaureus_>bnoordhuis: can programs actually return -1 btw?
22:17:01  <piscisaureus_>or is the value unsigned?
22:17:23  <bnoordhuis>piscisaureus_: no, the status code is an unsigned char
22:17:28  <piscisaureus_>hmm
22:17:38  <bnoordhuis>actually... the only thing the standard guarantees is EXIT_SUCCESS or EXIT_FAILURE :)
22:17:41  <piscisaureus_>on windows it's unsigned int I think
22:18:15  * brsonquit (Ping timeout: 252 seconds)
22:27:42  * blackorzar__changed nick to pacozarate
22:29:04  * pacozaratechanged nick to blackorzar
22:30:18  * brsonjoined
22:46:23  <piscisaureus_>bnoordhuis: if we are going forward with this, I think spawn() should always succees unless there is an application bug
22:46:39  <piscisaureus_>bnoordhuis: so ENOMEM or EMFILE or EBADF should also be reported async
23:08:26  * travis-cijoined
23:08:26  <travis-ci>[travis-ci] joyent/libuv#540 (master - d4737ab : Ben Noordhuis): The build passed.
23:08:26  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/bf28aa4e7847...d4737abd6d1c
23:08:26  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2070529
23:08:26  * travis-cipart
23:10:51  <CIA-134>libuv: Trond Norbye master * rcbb9300 / (3 files): Allow headers to be included with -Werror and -Wundef - http://git.io/cI43vw
23:10:51  <CIA-134>libuv: Trond Norbye master * r5143d54 / include/uv.h : Allow inclusion of <uv.h> with Sun Studio compiler - http://git.io/JUADfA
23:11:23  * loladiroquit (Quit: loladiro)
23:11:45  <piscisaureus_>Sun studio compiler, heh
23:11:53  <piscisaureus_>Has a good reputation
23:11:59  <piscisaureus_>obviously nobody uses it
23:13:20  * mcavagequit (Remote host closed the connection)
23:14:03  <txdv>you should undefine unix at the end of the header
23:16:44  <txdv>100% coverage on travis
23:16:50  <txdv>nice
23:16:55  <txdv>I should update my bindings
23:18:26  * c4miloquit (Remote host closed the connection)
23:18:59  <bnoordhuis>piscisaureus_: i've had two or three people complain to me that libuv didn't compile with sun studio
23:19:09  <bnoordhuis>but that's probably the total user base :)
23:19:44  <bnoordhuis>piscisaureus_: re spawn, i agree
23:19:50  <txdv>does travis-ci support windows?
23:19:58  <bnoordhuis>txdv: don't think so
23:20:07  <bnoordhuis>but mmalecki should know
23:20:09  <txdv>only linux?
23:20:48  <piscisaureus_>bnoordhuis: re Sun - does node compile with Studio? I wonder what solaris users are using libuv for....
23:21:01  <bnoordhuis>piscisaureus_: never tried it
23:21:04  <piscisaureus_>bnoordhuis: re spawn: +1. Unfortunately, that's quite some work. Will do that tomorrow.
23:21:17  <piscisaureus_>bnoordhuis: because tomorrow is an office day
23:21:29  <bnoordhuis>ENOMEM might be tricky though
23:21:57  <bnoordhuis>oh well, bridge, cross, etc.
23:22:18  <piscisaureus_>bnoordhuis: ENOMEM is not so important
23:22:40  <piscisaureus_>bnoordhuis: an ENOMEM program is as good as dead anyway
23:22:54  <piscisaureus_>(when a small allocation fails)
23:27:15  <piscisaureus_>ha! we don't always loose from java <-- https://groups.google.com/d/msg/google-appengine/jUA26daktIU/fGF3YAH8IM4J
23:28:24  <mmalecki>hm, I'm surprised python tornado is so slow
23:28:36  <mmalecki>I wish he ran the benchmark on pypy
23:28:51  <piscisaureus_>well, the python interpreter is slow
23:29:44  <mmalecki>yeah, pypy is way faster than cpython
23:30:12  <mmalecki>I had a really good experience with python tornado on pypy
23:30:24  <mmalecki>I guess I could do some benchmarks
23:30:30  <mmalecki>with "hello world" http app.
23:31:34  <mmalecki>(for the sake of trolling)
23:32:32  * xaqquit (Remote host closed the connection)
23:33:08  * xaqjoined
23:37:17  * xaqquit (Ping timeout: 245 seconds)
23:38:47  * \toothrotchanged nick to toothrot
23:41:38  <piscisaureus_>sure, go ahead
23:41:48  <piscisaureus_>node.js is for idiots anyway
23:41:58  <piscisaureus_>I mean, it doesn't follow the CGI standard
23:43:27  <mmalecki>yeah lol. I mean, come on guys, it's 21st century. time to finally adapt new standards!
23:51:06  <TooTallNate>piscisaureus_: but node-cgi does ;)
23:51:21  * mcavagejoined
23:53:18  <piscisaureus_>bnoordhuis: 020 tomorrow or 0182 ?