00:18:33  * stagasquit (Ping timeout: 240 seconds)
00:20:17  * dshaw_quit (Quit: Leaving.)
00:35:29  * devaholicquit (Ping timeout: 246 seconds)
00:37:37  * dshaw_joined
00:44:36  * loladiroquit (Quit: loladiro)
00:52:02  * bnoordhuisquit (Ping timeout: 244 seconds)
00:54:07  * dshaw_quit (Quit: Leaving.)
01:41:00  * Ariajoined
01:55:23  * abraxasjoined
01:57:11  * brsonquit (Remote host closed the connection)
02:18:43  * mmaleckiquit (Ping timeout: 240 seconds)
02:34:04  * mmaleckijoined
02:48:11  * mikealquit (Quit: Leaving.)
03:02:45  * joeandaverdequit (Ping timeout: 244 seconds)
03:04:04  * joeandaverdejoined
03:17:14  * avalanche123quit (Quit: Computer has gone to sleep.)
03:21:35  * beachdogquit (Remote host closed the connection)
03:22:12  * beachdogjoined
03:22:55  * avalanche123joined
03:27:10  * beachdogquit (Ping timeout: 272 seconds)
03:50:15  * avalanche123quit (Quit: Computer has gone to sleep.)
03:55:50  * Ariaquit (Remote host closed the connection)
04:46:59  * blackorzarjoined
04:50:11  * ericktquit (Quit: erickt)
05:21:17  * mikealjoined
05:36:49  * dshaw_joined
06:46:33  * indexzerojoined
07:00:08  * blackorzarquit (Ping timeout: 276 seconds)
07:01:46  * stephankquit (Quit: *Poof!*)
07:17:20  * `3rdEdenjoined
07:23:56  * rendarjoined
07:33:23  * AvianFluquit (Quit: AvianFlu)
07:37:20  * AvianFlujoined
07:37:43  * AvianFluquit (Client Quit)
07:42:15  * Raynosquit (Remote host closed the connection)
07:43:32  * Raynosjoined
08:26:05  * loladirojoined
08:32:58  * loladiroquit (Quit: loladiro)
09:05:55  * loladirojoined
09:35:22  <einaros>isaacs: when is the next npm landing?
09:43:44  * mitsuhikoquit (Excess Flood)
09:46:13  * mitsuhikojoined
10:28:11  * loladiroquit (Quit: loladiro)
10:35:33  * `3rdEdenquit (Quit: Leaving...)
10:42:26  * TheJHjoined
10:46:35  * `3rdEdenjoined
11:01:34  * loladirojoined
11:10:23  * loladiroquit (Ping timeout: 276 seconds)
11:56:00  * KiNgMaRquit (Read error: Connection reset by peer)
11:56:15  * KiNgMaRjoined
12:06:47  * piscisaureus_joined
12:06:55  * piscisaureus_quit (Client Quit)
12:08:27  * piscisaureus_joined
12:10:11  * beachdogjoined
12:16:35  * bnoordhuisjoined
12:18:22  * AvianFlujoined
12:21:07  * hzjoined
12:28:52  * charliesomejoined
12:38:37  <indutny>hey people
12:39:14  <indutny>bnoordhuis: piscisaureus_: wanna review this WIP: https://github.com/joyent/libuv/pull/525
12:39:50  <indutny>btw, I don't understand why creating file in directory emits UV_RENAME event
12:40:21  <indutny>can you explain that please?
12:41:07  <indutny>bnoordhuis: yt?
12:41:10  <indutny>piscisaureus_: yt?
12:41:22  <piscisaureus_>indutny: creating a file always emits a rename event...
12:41:26  <indutny>em...
12:41:27  <indutny>why?
12:41:30  * chobi_e_changed nick to chobi_e
12:41:44  <indutny>well, suppose it is :)
12:41:48  <piscisaureus_>indutny: i will look at in in 15 minutes
12:41:50  <indutny>ok
12:41:53  <piscisaureus_>indutny: busy atm
12:42:01  <indutny>the problem is that file changes API exists only in osx 10.7
12:42:07  <indutny>and I haven't even tested it
12:42:11  <indutny>since I only have 10.6.8 on-hand
12:43:11  * chobi_echanged nick to chobi_e_
12:43:52  * chobi_e_changed nick to chobi_e
12:46:46  * loladirojoined
12:47:08  * chobi_echanged nick to chobi_e_
12:50:49  * abraxasquit (Remote host closed the connection)
12:59:04  <indutny>brb
12:59:08  <indutny>going to move to another place
13:07:05  * chobi_e_changed nick to chobi_e
13:09:30  * devaholicjoined
13:19:09  <piscisaureus_>indutny: fsevents are in since leopard right?
13:19:34  <piscisaureus_>indutny: 10.5
13:21:29  <piscisaureus_>indutny: "rename" might be a little odd. It basically means that a file was created, renamed or deleted
13:25:53  * beachdogquit (Remote host closed the connection)
13:26:20  * beachdogjoined
13:29:28  * indexzeroquit (Quit: indexzero)
13:37:14  * indexzerojoined
13:37:22  <indutny>piscisaureus_: so, what to choose?
13:37:31  <indutny>piscisaureus_: should I report filename if it's not really a file event?
13:37:42  * indexzeroquit (Client Quit)
13:37:56  <CIA-134>libuv: Ben Noordhuis v0.8 * r2c3e8b6 / (common.gypi gyp_uv build/gcc_version.py): build: rework -fvisibility=hidden detection - http://git.io/OfXlVg
13:38:07  <indutny>bnoordhuis: oh and ben is there too?
13:38:07  <indutny>brb
13:38:10  <indutny>:D
13:38:13  <CIA-134>node: Ben Noordhuis v0.8 * r9f26130 / (4 files in 3 dirs): deps: upgrade libuv to 2c3e8b6 - http://git.io/1Tttkw
13:38:13  <CIA-134>node: Ben Noordhuis v0.8 * r100e163 / (common.gypi configure): build: compile with -fno-tree-vrp when gcc >= 4.0 - http://git.io/FVWReA
13:38:23  <bnoordhuis>stupid people compiling with gcc 3.4 >:(
13:38:23  <indutny>I feel his presence
13:38:28  <indutny>3.4 ?D
13:38:40  <piscisaureus_>indutny: uhm? If it's not a file event then what is it?
13:38:57  <piscisaureus_>indutny: I don't think fsevents ever gives you a filename so you probably don't want to report any filenames
13:39:40  * travis-cijoined
13:39:40  <travis-ci>[travis-ci] joyent/libuv#550 (v0.8 - 2c3e8b6 : Ben Noordhuis): The build was fixed.
13:39:40  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/a1157cef3741...2c3e8b6aa642
13:39:40  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2108297
13:39:40  * travis-cipart
13:40:18  <piscisaureus_>should we just drop support for OS X tiger and older?
13:40:52  <mmalecki>wait, people still use those?
13:41:16  <bnoordhuis>i still use OS X Def Leppard
13:41:22  <bnoordhuis>it's so '80s!
13:50:54  <piscisaureus_>hmm
13:51:02  <piscisaureus_>let me look at /var/log/nginx/*
13:51:28  <mmalecki>I could get OS data from nodejitsu.com, I suppose
13:51:40  <mmalecki>AvianFlu: do you have access to the analytics?
13:52:36  * c4milojoined
13:52:36  <AvianFlu>mmalecki: which are you asking about
13:52:42  * AvianFluhas not been paying attention
13:52:46  <CIA-134>libuv: Bert Belder master * r00d2f22 / src/win/process-stdio.c : windows: fix typos in process-stdio.c - http://git.io/1V3z9A
13:52:47  <CIA-134>libuv: Bert Belder master * ra1157ce / src/win/process-stdio.c : windows: don't duplicate invalid stdio handles - http://git.io/BJmqnA
13:52:47  <CIA-134>libuv: Ben Noordhuis master * r2c3e8b6 / (common.gypi gyp_uv build/gcc_version.py): build: rework -fvisibility=hidden detection - http://git.io/OfXlVg
13:52:48  <CIA-134>libuv: Ben Noordhuis master * r9d7e300 / (4 files in 3 dirs): Merge branch 'v0.8' - http://git.io/omYg2g
13:52:54  <mmalecki>AvianFlu: google analytics
13:53:23  <AvianFlu>oh, maybe
13:54:29  * travis-cijoined
13:54:29  <travis-ci>[travis-ci] joyent/libuv#551 (master - 9d7e300 : Ben Noordhuis): The build passed.
13:54:29  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/ac0d46851ae0...9d7e30036405
13:54:29  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2108421
13:54:29  * travis-cipart
14:04:57  * blackorzarjoined
14:13:18  <bnoordhuis>when i run `run-benchmarks spawn spawn` through `strace -e trace=process` it's faster than when run standalone
14:13:35  <bnoordhuis>1548 vs 1217 spawns/s...
14:14:31  <tjfontaine>fwiw if chrome doesn't support 10.5 any more, I don't see a reason node.js should
14:30:40  * blackorzar_joined
14:33:50  * blackorzarquit (Ping timeout: 276 seconds)
14:35:32  <bnoordhuis>hah, dynamic linking has a performance penalty
14:35:53  <bnoordhuis>1739 spawns/s <- dynamic binary that immediately calls exit(0)
14:36:05  <bnoordhuis>3563 spawns/s <- statically linked version
14:36:38  <bnoordhuis>admittedly the static version doesn't call exit(), it does a sysenter
14:40:17  * perezdquit (*.net *.split)
14:40:17  * toothrotquit (*.net *.split)
14:40:18  * chiltsquit (*.net *.split)
14:40:18  * einarosquit (*.net *.split)
14:40:54  * loladiroquit (Quit: loladiro)
14:41:13  * toothrjoined
14:45:52  * perezdjoined
14:45:52  * chiltsjoined
14:45:52  * einarosjoined
14:46:20  * charliesomequit (Quit: Textual IRC Client: www.textualapp.com)
14:54:43  <indutny>piscisaureus_: it should
14:54:55  <indutny>piscisaureus_: there're new API in OSX >= 10.7
14:55:05  <indutny>piscisaureus_: if only you could test it on your retina book
14:56:17  <piscisaureus_>indutny: ah - right. So fsevents is old news already
14:56:33  <indutny>piscisaureus_: well, it's called fsevents too :)
14:56:36  <piscisaureus_>indutny: but I am not sure we should only support lion and up
14:56:38  <indutny>piscisaureus_: just a new flag
14:56:46  <indutny>piscisaureus_: I'm still on 10.6.8
14:56:53  <indutny>;)
14:56:57  <piscisaureus_>indutny: ok, i will try it in a couple of minutes
14:57:02  <indutny>cool
14:57:40  <CIA-134>libuv: Ben Noordhuis master * r758a769 / src/unix/process.c : unix: fix SIGCHLD race in process.c - http://git.io/nILtVQ
14:58:53  <indutny>piscisaureus_: as it's always with Apple, it's not really documented well
14:58:56  * loladirojoined
14:59:24  * travis-cijoined
14:59:24  <travis-ci>[travis-ci] joyent/libuv#552 (master - 758a769 : Ben Noordhuis): The build passed.
14:59:24  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/9d7e30036405...758a76922bec
14:59:24  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2109071
14:59:24  * travis-cipart
14:59:30  <indutny>kFSEventStreamCreateFlagFileEvents
14:59:30  <indutny>Request file-level notifications. Your stream will receive events about individual files in the hierarchy you're watching instead of only receiving directory level notifications. Use this flag with care as it will generate significantly more events than without it.
15:00:19  * dshaw_quit (Quit: Leaving.)
15:02:19  * blackorzar_quit (Ping timeout: 245 seconds)
15:03:00  <indutny>https://github.com/joyent/libuv/pull/525/files#L3R193
15:03:12  <indutny>piscisaureus_: is it correct way to check if constant was defined? ^
15:05:11  * devaholicquit (Quit: Leaving)
15:05:18  <bnoordhuis>indutny: is kFSEventStreamCreateFlagFileEvents a #define or an enum?
15:05:24  <indutny>enum
15:05:54  <bnoordhuis>then checking it with defined(...) won't work
15:06:00  <indutny>nice
15:06:23  <indutny>I think I should check OSX version then
15:06:27  <bnoordhuis>yes
15:06:35  <bnoordhuis>there's examples of that in the libuv tree
15:06:49  <indutny>huh, really?
15:07:15  <indutny>__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
15:07:17  <bnoordhuis>yes
15:07:39  <indutny>ok
15:07:44  <indutny>thanks
15:08:08  <bnoordhuis>does fsevents work on ios?
15:09:08  <tjfontaine>I'm not sure that paradigm makes sense on ios?
15:09:38  <tjfontaine>everything is sandboxed so there's only your threads and icloud that can modify stuff
15:10:11  <indutny>bnoordhuis: dunno
15:10:20  <indutny>bnoordhuis: why are you asking?
15:13:11  * perezdquit (Quit: perezd)
15:13:37  <bnoordhuis>tjfontaine: right, good point
15:13:39  * stagasjoined
15:14:15  <bnoordhuis>then the only thing to make sure is that adding fsevents won't break ios builds
15:14:23  <bnoordhuis>indutny: ^
15:14:26  <indutny>hahah
15:14:34  <indutny>well, we need to check if it works
15:14:45  <indutny>and make it works as our users expect it to work
15:14:49  <indutny>s/works/work
15:17:28  <indutny>bnoordhuis: how does it work for linux?
15:17:39  <indutny>bnoordhuis: suppose, I'm watching directory
15:17:48  <indutny>will I get filenames in events?
15:17:54  <indutny>I'm really not familiar with inotify
15:17:55  <indutny>at all
15:18:17  <indutny>oh looks like yes
15:18:30  <indutny>so, on osx >= 10.7 it'll behave exactly as inotify does
15:18:48  <indutny>while on old versions it'll allows us to get generic events about changes in directories
15:18:55  <indutny>(w/o actual file names)
15:22:56  * piscisaureus_quit (Quit: ~ Trillian Astra - www.trillian.im ~)
15:26:03  <bnoordhuis>indutny: yes, you get filenames
15:26:39  * `3rdEdenquit (Quit: cooking)
15:27:35  <bnoordhuis>fuck, the new process.nextTick broke pummel/test-tls-ci-reneg-attack
15:28:32  * hzquit (Ping timeout: 272 seconds)
15:36:59  * ericktjoined
15:41:04  * piscisaureujoined
15:41:10  <piscisaureu>Aah, this is nice :-)
15:41:27  <piscisaureu>Add this to your .git/config file
15:41:32  <piscisaureu>[remote "pr"]
15:41:32  <piscisaureu> fetch = +refs/pull/*/head:refs/remotes/pr/*
15:41:32  <piscisaureu> url = [email protected]:/joyent/libuv.git
15:41:39  <piscisaureu>then do "git fetch pr"
15:41:55  <tjfontaine>list of active pull requests then?
15:42:13  * dapjoined
15:42:13  <piscisaureu>after that you can checkout pull requests with "git checkout 525"
15:42:21  * philips_quit (Excess Flood)
15:42:25  <piscisaureu>(for example)
15:42:37  * `3rdEdenjoined
15:43:57  <isaacs>einaros: probably tomorrow
15:44:12  <isaacs>einaros: usually i push a new npm along with a new node stable version
15:44:13  * philips_joined
15:44:28  <piscisaureu>indutny: I checked your pr but it fails the tests
15:45:26  <piscisaureu>indutny: https://gist.github.com/cd5116301b99e0e6eb19
15:46:08  * ryahwaves
15:47:50  <isaacs>piscisaureu: that's awesome!
15:47:56  <isaacs>ryah: hola
15:49:27  * piscisaureuquit (Quit: Leaving.)
15:51:25  * piscisaureus_joined
15:53:22  <indutny>piscisaureus_: wow
15:53:53  <indutny>piscisaureus_: hm...
15:54:11  <indutny>piscisaureus_: can you print filename?
15:54:20  <piscisaureus_>indutny: hmm, I've rebooted already
15:54:23  <indutny>piscisaureus_: btw, it's odd that other tests are failing too
15:54:29  <indutny>piscisaureus_: oh, ok
15:54:32  <piscisaureus_>indutny: well, you can probably ignore them
15:54:43  <indutny>piscisaureus_: yeah, I think that too
15:54:56  <indutny>piscisaureus_: because my patch applies only for cases when you're watching directory
15:55:19  <indutny>piscisaureus_: basically, I think it's giving full pathname instead of partial as test expect
15:55:33  <piscisaureus_>indutny: could be...
15:57:46  <pquerna>gmmm, so, SO_LINGER.
15:57:58  <pquerna>i want destroySoon to do a lingering close, thoughts?
15:58:46  <indutny>pquerna: it should already do it, I suppose
15:58:53  <indutny>pquerna: or do you want some specific linger timeout?
15:59:37  <pquerna>no, don't care so much, just have a situation where we 'think' we are sending back a 413, but its calling destroySoon... and then closing the socket; Apache in a reverse proxy mode ends up calling it a 502 as its getting connreset...
16:00:18  <indutny>pquerna: hm...
16:00:22  <indutny>that's really complicated
16:00:39  <indutny>I think it should not even get it if you don't have linger enabled
16:00:43  <indutny>err
16:00:45  <indutny>non-zero linger
16:01:00  * `3rdEdenquit (Quit: Linkinus - http://linkinus.com)
16:04:20  * stephankjoined
16:07:57  * TooTallNatejoined
16:08:40  * perezdjoined
16:11:36  <CIA-134>node: Ben Noordhuis master * rc492d43 / lib/tls.js : tls: fix segfault in pummel/test-tls-ci-reneg-attack - http://git.io/duegjw
16:12:20  <bnoordhuis>isaacs: can you run `make test-pummel` after doing a merge?
16:12:28  <bnoordhuis>that would've caught ^ earlier
16:12:41  <isaacs>bnoordhuis: sure thing. thanks.
16:12:44  <tjfontaine>oh hey, use case for setImmediate cute
16:13:41  <bnoordhuis>and woe unto him that changes the behavior of setImmediate now >:(
16:13:54  <tjfontaine>heh
16:16:13  <piscisaureus_>pquerna: lingering close is always enabled by default
16:16:53  <piscisaureus_>pquerna: if it wasn't, node's http server would not be even remotely reliable
16:19:21  * chobi_echanged nick to chobi_e_
16:21:32  * dapquit (Quit: Leaving.)
16:23:14  <bnoordhuis>indutny: https://github.com/joyent/node/issues/3862 <- figured that one out yet?
16:23:26  <indutny>nope
16:24:14  * dapjoined
16:24:55  * ericktquit (Quit: erickt)
16:25:21  <isaacs>hm... since we have setImmediate, can we simplify nextTick, or at least, make it start warning obnoxiously if your tickDepth goes above 1000 or something, and then make it just an infinite loop in the next version, you think?
16:25:26  <isaacs>piscisaureus_, bnoordhuis ^
16:25:44  <piscisaureus_>isaacs: YES!!!1
16:25:55  <bnoordhuis>yes
16:26:18  <piscisaureus_>isaacs: I think it's not difficult for people to change their codez in this situatio
16:26:29  <piscisaureus_>isaacs: eteration is quite uncommon
16:27:12  <isaacs>piscisaureus_: yes, but we should still give them a full version family to do so
16:27:28  <piscisaureus_>isaacs: ok
16:27:45  <piscisaureus_>isaacs: I got the money so I will shut up now
16:28:25  <isaacs>hahah
16:30:43  * ericktjoined
16:39:00  * ericktquit (Quit: erickt)
16:39:28  * ericktjoined
16:43:51  <TooTallNate>indutny: my six pack of beer offer for bnoordhuis applies to you too if you can figure it out first
16:44:11  <indutny>haha
16:44:23  <TooTallNate>that bug makes using `cdir` on osx useless
16:45:40  <indutny>heh
16:45:43  <indutny>I'll try
16:45:46  <indutny>but if ben can't do it
16:45:55  <indutny>not sure if I'll be able to get anywhere
16:53:20  * loladiroquit (Ping timeout: 260 seconds)
16:55:24  <CIA-134>node: jbergstroem master * r8eccc41 / benchmark/http_simple_bench.sh : bench: fetch port from env - http://git.io/dBEMzA
16:55:56  <bnoordhuis>https://github.com/joyent/node/issues/3475 <- kill node-waf? yes/no/maybe
16:56:30  <tjfontaine>it needs to go before 1.x but I don't know how many cycles are left before that
16:58:22  <bnoordhuis>https://github.com/joyent/node/issues/3475#issuecomment-7698177 >:)
16:58:51  <tjfontaine>haha
16:58:57  * dshaw_joined
16:59:06  <bnoordhuis>indutny: if you want another interesting bug: https://github.com/joyent/node/issues/3852
16:59:16  <bnoordhuis>no rush though
16:59:22  <indutny>bnoordhuis: hm...
16:59:30  <indutny>bnoordhuis: why are we passing -1 to uv__io_init
16:59:50  <bnoordhuis>indutny: to init the watcher but not set the fd
16:59:54  <indutny>ah, this is fd
16:59:54  <indutny>nvm
17:00:06  <indutny>I thought we're passing flags to it
17:00:10  <indutny>sort of wildcard flags
17:00:14  <indutny>and type is signed
17:00:31  <indutny>I'm talking about this because events is not really 0x3 in that assertion
17:00:39  <indutny>it's 0x80000003
17:00:47  <bnoordhuis>ah, EV_ERROR?
17:00:53  <indutny>dunno
17:00:58  <indutny>probably
17:01:04  <piscisaureus_>aah
17:01:16  <indutny>yeah, looks like so
17:01:19  <piscisaureus_>I think libuv always sets EV_READ and EV_WRITE when an error happens
17:01:23  <piscisaureus_>er, libev
17:01:35  <bnoordhuis>yes, it does
17:01:37  <indutny>hahahaha
17:01:42  <indutny>TooTallNate: 6 packs of beer
17:01:53  <bnoordhuis>you still need to fix it, fedor :)
17:02:09  <indutny>yes, but you guided me a lot
17:02:16  <bnoordhuis>we'll split it
17:02:26  <bnoordhuis>i don't drink that much anymore anyway
17:03:00  <indutny>yeah, me too
17:03:04  <indutny>I'll share it with mmalecki
17:03:12  <piscisaureus_>Oh
17:03:22  <piscisaureus_>I just started drinking *more* guys
17:04:38  <indutny>ok, I'll share with you too
17:06:00  <indutny>bnoordhuis: I think we're trying to read/write from/to writable-only/readble-only fd
17:06:14  <mmalecki>indutny: sup?
17:06:16  <indutny>it's happening because of EBADF
17:06:18  <indutny>mmalecki: beer
17:06:22  <indutny>mmalecki: ++
17:06:22  <kohai>mmalecki has 116 russian champagnes
17:06:25  <bnoordhuis>indutny: EBADF from what syscall?
17:06:31  <indutny>that's hard to tell
17:06:36  <indutny> else if (err == EBADF) /* on EBADF, we re-check the fd */
17:06:41  <indutny>in ev_kqueue.c
17:06:45  <mmalecki>indutny: WELL. I now prefer russian champagnes!
17:07:07  <bnoordhuis>indutny: so EBADF from kqueue() or kevent()?
17:07:20  <bnoordhuis>dinner time, biab
17:07:20  <indutny>bnoordhuis: I do not know
17:07:25  <indutny>trying to figure out
17:07:26  <indutny>ok :)
17:09:13  <CIA-134>node: isaacs master * r50c7d80 / (2 files in 2 dirs): events: emitter.listeners() should not have side effects - http://git.io/pC0XhQ
17:09:33  <tjfontaine>#3852 is weird that it happens on paste, you can pipe it without issue
17:11:07  * avalanche123joined
17:11:38  * loladirojoined
17:16:36  <indutny>hahahahahahaha
17:16:43  <indutny>kqueue on osx doesn't work with TTY
17:16:46  <indutny>that was not a EBADF
17:16:47  <indutny>but EINVAL
17:17:21  <indutny>and poll doesn't work with TTY too
17:17:26  <indutny>only select does
17:20:32  <indutny>http://lists.freebsd.org/pipermail/svn-src-all/2008-December/002195.html
17:23:38  <indutny>TooTallNate: why do you need reading from /dev/tty ?
17:24:14  <TooTallNate>indutny: imagine this scenario:
17:24:30  <TooTallNate>$ curl http://example.com/script.sh | sh
17:24:43  <indutny>and you want to start tty from there?
17:24:56  <TooTallNate>^ now in "script.sh" you want to invoke "readline" and ask the user a question
17:25:02  <indutny>yeah, got it now
17:25:04  <indutny>oh crap
17:26:36  <indutny>piscisaureus_: can we have multiple backend is libev?
17:26:49  <indutny>well is it possible w/o rewriting large chunks of architecture
17:27:22  <piscisaureus_>indutny: I don't understand the question
17:27:52  <indutny>piscisaureus_: well, I need to be able to select(2) on tty fds and kqueue(2) on other fds
17:28:03  <indutny>basically that means that I need another thread for it
17:28:33  <piscisaureus_>what? does kqueue not work with ttys?
17:28:38  <indutny>not on osx
17:28:39  <piscisaureus_>insane
17:28:42  <indutny>yeah
17:28:50  <indutny>I'll write test case for it
17:28:54  <piscisaureus_>indutny: so how come node works just fine if you run `node` ?
17:29:10  <indutny>I don't know
17:29:11  <indutny>really
17:29:11  <piscisaureus_>in that case fd 0 is a tty, no?
17:29:23  * ericktquit (Quit: erickt)
17:29:32  <indutny>well, all I know is that people are complaining about that on internet
17:29:35  <indutny>try searching
17:29:40  <indutny>kqueue tty EINVAL
17:29:47  * mikealquit (Quit: Leaving.)
17:29:49  <indutny>http://cyanide-burnout.livejournal.com/205698.html
17:29:54  <indutny>this is a russian article about it
17:30:17  * perezdquit (Quit: perezd)
17:30:34  <piscisaureus_>right, ok
17:31:00  * ericktjoined
17:31:05  <indutny>I'm writing test case
17:31:06  <piscisaureus_>well, I'd say that this is *only* an issue with kqueue you could run it on the thread pool
17:31:13  <piscisaureus_>er, only an issue with tty
17:31:30  <indutny>piscisaureus_: select() ?
17:31:33  <indutny>piscisaureus_: or read/write
17:32:01  * perezdjoined
17:32:22  <piscisaureus_>indutny: well, you'd not set FIONBIO and use fs read stream to read it
17:32:48  <piscisaureus_>or you could do some trickery with uv_async and running select in another thread
17:33:13  <piscisaureus_>on uv-win this happens all the time
17:33:24  <indutny>yeah, that's what I'm thinking about
17:33:30  <piscisaureus_>but I don't know how well it would fit in with the current uv-unix architecture
17:33:32  <indutny>I'm doing it in my fsevents patch
17:33:39  <indutny>bnoordhuis: I need ya
17:33:46  <piscisaureus_>indutny: it would be nice to try other /dev/ files as well
17:33:46  <indutny>please ping me back once you'll get there
17:34:05  <indutny>piscisaureus_: test case! :)
17:34:14  <piscisaureus_>yessir
17:34:57  * beachdogquit (Read error: Connection reset by peer)
17:35:29  * beachdogjoined
17:35:29  <indutny>is FIONBIO sort of non-block flag?
17:36:05  <indutny>oh, it's more complex
17:40:03  * hzjoined
17:40:37  * ericktquit (Quit: erickt)
17:42:44  * ericktjoined
17:45:31  <indutny>piscisaureus_: interesting
17:45:37  <indutny>piscisaureus_: it gets EINVAL while reading on fd = 0
17:45:45  <piscisaureus_>hmm
17:46:02  <piscisaureus_>indutny: always?
17:46:14  <piscisaureus_>indutny: so why does the repl work, then?
17:46:20  <indutny>ah
17:46:23  <indutny>nvm
17:46:28  <indutny>it's dup2'ed
17:46:38  <indutny>well, when we do app < stream
17:46:43  <indutny>stream's fd is dup2'ed to 0
17:46:44  <indutny>:D
17:46:45  <indutny>forgot about it
17:48:18  <TooTallNate>piscisaureus_: all that i know is that this will enter the repl and work: node < /dev/stdin
17:48:28  <TooTallNate>this will throw an assertion error: node < /dev/tty
17:54:57  <indutny>oh not even with a tty
17:55:03  <indutny> /dev/null too
17:55:09  <indutny>though we're handling it in another way in node
17:55:11  <indutny>I suppose
17:55:28  <indutny>https://gist.github.com/0088055204c9d89f5931
17:55:49  <indutny>./test < /dev/tty
17:56:01  <indutny>bnoordhuis: ^^^^
17:56:30  <indutny>TooTallNate: are you on osx > 10.6 ?
17:57:01  <TooTallNate>indutny: yes, but i have a snow leopard server VM if we need that
17:58:39  <TooTallNate>indutny: so "ahahaha" is bad?
18:01:16  * mikealjoined
18:03:37  <indutny>yeah, select works fine
18:03:41  <indutny>TooTallNate: indeed
18:03:58  <indutny>so, we should run select in another thread for TTYs
18:04:06  <indutny>and not only ttys :D
18:04:11  <indutny>still haven't figured out
18:05:34  * brsonjoined
18:06:10  <indutny>ok it doesn't work with any /dev/... stuff
18:06:56  <indutny>piscisaureus_: do you know how to check if fd is from device mount?
18:11:21  * lohkeyjoined
18:13:53  * lohkeyquit (Read error: Connection reset by peer)
18:14:17  * brsonquit (Quit: leaving)
18:15:22  <TooTallNate>indutny: it works with /dev/stdin, no?
18:15:38  <indutny>yes, it does
18:16:12  <indutny>probably it's not a device
18:19:18  * loladiroquit (Quit: loladiro)
18:28:40  <indutny>ohhhh
18:31:09  <indutny>ok, the only real way to check this
18:31:15  <indutny>is by calling kevent() on it
18:31:19  <indutny>and testing if err is EINVAL
18:33:48  <TooTallNate>fair enough i think
18:33:58  * joshthecoderjoined
18:34:11  <indutny>#ifdef __APPLE__
18:34:12  <indutny> /* only select works correctly on that "unix-certified" platform */
18:34:13  <indutny>hahahahaha
18:34:19  <indutny>that's from libev
18:34:27  * brsonjoined
18:35:02  * lohkeyjoined
18:36:19  * joshthecoderquit (Read error: Connection reset by peer)
18:36:31  * joshthecoderjoined
18:44:32  * dap1joined
18:44:52  <indutny>~/Code/indutny/libuv > git grep hack | wc -l
18:44:53  <indutny> 35
18:46:28  * dapquit (Ping timeout: 256 seconds)
18:53:46  * perezdquit (Quit: perezd)
18:56:39  * perezdjoined
19:03:26  * mikealquit (Quit: Leaving.)
19:03:39  * mikealjoined
19:13:05  <txdv>is node-gyp official?
19:13:09  <piscisaureus_>it is
19:13:11  <piscisaureus_>well
19:13:18  <piscisaureus_>it is blessed
19:13:22  * hzquit
19:13:54  <TooTallNate>txdv: is comes bundled with npm now
19:14:19  <TooTallNate>and npm gets bundled with node
19:14:47  <TooTallNate>so i guess that makes it one level of indirection less official then npm
19:16:03  <isaacs>TooTallNate: it'd probably be wise to make node-gyp just a library that npm uses
19:16:27  <isaacs>TooTallNate: rather than a shell script that npm calls
19:17:39  <txdv>it is already exactly like that
19:17:45  <txdv>npm install -g node-gyp
19:19:54  <TooTallNate>isaacs: should be easy enough
19:20:24  <isaacs>TooTallNate: yeah, the only drawback is that then it's a little bit trickier to find binary modules.
19:20:43  <isaacs>TooTallNate: but we can just have npm put something else in the package.json, rather than scripts:{install:"node-gyp rebuild"}
19:20:45  <TooTallNate>isaacs: what about the presence of a binding.gyp file?
19:20:55  <isaacs>TooTallNate: right, i mean, at the package.json data object level
19:21:04  <isaacs>so it's easier to find in views run over the registry and such
19:21:19  <TooTallNate>isaacs: doesn't npm insert some entries implicitly?
19:21:27  <TooTallNate>like "has binding.gyp" or something?
19:25:56  <isaacs>TooTallNate: yeah, it does a bunch of stuff, i'm just saying we'd have to make it do that as part of the upgrade.
19:26:01  * isaacsis totally fine with this
19:26:36  <TooTallNate>damn, using it programmatically isn't working out as smoothly as it's supposed to :p
19:26:45  <TooTallNate>too much logic baked into the bin file
19:29:13  * `3rdEdenjoined
19:29:14  <isaacs>yep. that's why it's good to do things like this. forces ugly shortcuts to be cleaned up :)
19:29:38  <isaacs>i'm off for a bit. i'll be back in a few hours.
19:31:07  <TooTallNate>isaacs: this is what it takes currently https://gist.github.com/3343487
19:31:12  <TooTallNate>but it could be improved
19:34:56  <TooTallNate>like having .parseArgv() required is a hack
19:35:10  <TooTallNate>that logic should be moved to bin/
19:35:26  <tjfontaine>well, it's not terrible if people want passthrough from npm
19:36:01  <TooTallNate>good point
19:36:38  * AvianFluquit (Quit: AvianFlu)
19:44:53  * dshaw_quit (Quit: Leaving.)
19:47:43  * dshaw_joined
19:54:39  * `3rdEdenquit (Quit: Leaving...)
19:54:47  * mikealquit (Quit: Leaving.)
19:59:07  * `3rdEdenjoined
20:07:47  <piscisaureus_>noooo
20:07:53  <piscisaureus_>bnoordhuis: I'd like execSync
20:09:14  <bnoordhuis>well, i don't
20:09:40  <bnoordhuis>what's the bloody point of node if you start adding sync stuff left and right?
20:10:16  <CIA-134>node: isaacs master * r22804a9 / (lib/module.js test/simple/test-debug-brk-no-arg.js): module: use 'repl' as the filename arg if missing - http://git.io/nTinHA
20:10:45  <piscisaureus_>bnoordhuis: write shell scripts :-)
20:10:57  <piscisaureus_>bnoordhuis: but you can hardly say we add them left and right
20:12:24  <bnoordhuis>i like hyperbole
20:30:31  * `3rdEdenquit (Quit: Leaving...)
20:31:44  <indutny>bnoordhuis: hey ben
20:32:00  <indutny>bnoordhuis: have you seen results of my investigation?
20:32:09  <indutny>bnoordhuis: stream_io bug on osx
20:32:11  * loladirojoined
20:33:07  <CIA-134>libuv: Bert Belder master * r7c3ba51 / (9 files in 3 dirs): windows: use WCHAR consistently (+6 more commits...) - http://git.io/iMalTQ
20:33:11  * indexzerojoined
20:33:12  <piscisaureus_>^-- bnoordhuis: I suppose you don't want to review
20:34:48  * travis-cijoined
20:34:49  <travis-ci>[travis-ci] joyent/libuv#554 (master - 7c3ba51 : Bert Belder): The build was broken.
20:34:49  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/758a76922bec...7c3ba514e789
20:34:49  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2111880
20:34:49  * travis-cipart
20:35:06  <bnoordhuis>indutny: yes. seems plausible
20:36:19  <bnoordhuis>piscisaureus_: let me take a look
20:36:19  <indutny>bnoordhuis: so, I'm thinking about having a separate event loop with ev configured to use select as it's backend
20:36:19  <bnoordhuis>piscisaureus_: you already pushed it to the master branch...
20:36:19  <piscisaureus_>bnoordhuis: that's correct
20:36:19  <bnoordhuis>indutny: pointless, libev is on its way out
20:36:31  <indutny>bnoordhuis: ok, I'll try fixing w/o leaving libev
20:36:35  <piscisaureus_>bnoordhuis: I think most commits are either obvious or unreviewable by you
20:36:41  <piscisaureus_>bnoordhuis: this one may be interesting: https://github.com/joyent/libuv/commit/80eae821049009eee6abd65a2a991a5a2beb4572
20:36:49  <bnoordhuis>indutny: don't waste too much time on it, it's a low priority bug
20:37:48  <bnoordhuis>piscisaureus_: breaking the test suite eh?
20:38:15  <piscisaureus_>bnoordhuis: yup, you did it, but I fixed it already :-)
20:39:42  <bnoordhuis>piscisaureus_: lgtm i guess
20:39:44  <indutny>bnoordhuis: what's high priority then?
20:40:34  <piscisaureus_>indutny: bnoordhuis: I think this is a good thing to fix
20:40:49  <bnoordhuis>yes, but not at all costs
20:40:57  <piscisaureus_>yes
20:41:00  <piscisaureus_>it depends on how it's fixed
20:41:14  <bnoordhuis>indutny: let's recap
20:41:26  <bnoordhuis>the problem is that kqueue doesn't support what? /dev file descriptors?
20:41:32  <indutny>sort of
20:41:40  <indutny>it's still unknown to me
20:41:46  <indutny>it just don't support all fd types
20:41:48  <piscisaureus_>https://github.com/joyent/node/issues/939 <-- wasn't this fixed recently ?
20:42:04  * hzjoined
20:43:24  <bnoordhuis>piscisaureus_: *shrug* does the test case work?
20:44:33  <indutny>bnoordhuis: well, and it's buggy on osx
20:44:42  <indutny>and kqueue is buggy everywhere more or less
20:44:50  <indutny>as I can see from libev comments
20:44:51  <piscisaureus_>bnoordhuis: yeah I can reproduce
20:45:01  <bnoordhuis>piscisaureus_: if you can reproduce it you can fix it
20:45:18  <bnoordhuis>indutny: that comment in libev dates back from 10.3 or 10.4
20:45:18  * piscisaureus_yawns
20:45:25  <piscisaureus_>I like fixing low-prio issues better
20:47:22  * mikealjoined
20:49:32  <bnoordhuis>piscisaureus_: seems the tls handshake comes to a standstill
20:49:51  <bnoordhuis>i see tls headers going back and fro and then... silence
20:49:55  <piscisaureus_>oei, da's nie best
20:54:21  <bnoordhuis>piscisaureus_: you working on it or ?
20:54:28  <piscisaureus_>bnoordhuis: not really no
20:54:31  <piscisaureus_>bnoordhuis: should I ?
20:54:53  <piscisaureus_>bnoordhuis: are you?
20:56:44  * EhevuTovjoined
20:58:17  <bnoordhuis>piscisaureus_: well, i guess it ought to be fixed properly
20:58:19  <bnoordhuis>so i'll do it
21:08:42  <bnoordhuis>well, it's not just us - openssl s_client has the same issue
21:09:20  <bnoordhuis>also -> Verify return code: 19 (self signed certificate in certificate chain)
21:09:24  <bnoordhuis>good going wepay.com
21:10:13  * indexzero_joined
21:10:38  <tjfontaine>maybe not enough depth allowed in your verify?
21:11:10  <bnoordhuis>oh, i can connect
21:11:16  <bnoordhuis>the server just isn't sending anything back
21:11:37  <bnoordhuis>curl however works, oddly enough
21:12:14  <tjfontaine>bnoordhuis: openssl s_client -verify 4
21:12:43  <tjfontaine>it defaults to 3 max depth
21:13:34  * indexzeroquit (Ping timeout: 245 seconds)
21:13:34  * indexzero_changed nick to indexzero
21:14:25  <bnoordhuis>tjfontaine: yes, but can you actually get that server to respond?
21:14:38  <tjfontaine>with a GET you mean?
21:14:41  <bnoordhuis>yes
21:14:51  <tjfontaine>nah :)
21:15:05  <tjfontaine>lemme try harder
21:15:49  <bnoordhuis>it also doesn't like it when you renegotiate
21:15:50  <bnoordhuis>R
21:15:50  <bnoordhuis>RENEGOTIATING
21:15:50  <bnoordhuis>139935735064224:error:1409444C:SSL routines:SSL3_READ_BYTES:tlsv1 alert no renegotiation:s3_pkt.c:1248:SSL alert number 100
21:15:50  <bnoordhuis>139935735064224:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:592:
21:19:48  <indutny>haha
21:19:55  <indutny>openssl errors are so noisy
21:27:54  <bnoordhuis>isaacs: can you check how many npm modules have a wscript but not a gyp file?
21:28:06  <bnoordhuis>alternatively, i can npm install hoarders
21:28:31  * EhevuTov_joined
21:29:05  <isaacs>bnoordhuis: http://registry.npmjs.org/-/scripts?scripts=install,preinstall,postinstall&match=\bnode-waf\b
21:29:27  <bnoordhuis>aww, i never knew
21:29:58  <isaacs>yah, it's a surprising thing about couch. it's actually a database that you can query and stuff
21:30:30  <isaacs>it's not just some silly erlang program to do json over http :0
21:31:35  * EhevuTovquit (Ping timeout: 260 seconds)
21:33:50  <TooTallNate>isaacs: how do you have it return only the key (module) names?
21:34:18  <mmalecki>oh, wow, didn't know the match parameter. pretty sweet!
21:35:41  <isaacs>TooTallNate: it's a list function
21:35:50  <isaacs>TooTallNate: which is like a _show, but for a view instead of a doc
21:35:54  <piscisaureus_>zsock <- wahaha
21:35:55  <isaacs>TooTallNate: almost always a bad idea.
21:36:15  <piscisaureus_>goodbye zsock, we've broken you before
21:36:27  <isaacs>hey now
21:36:42  <isaacs>breaking zsock = i hear lots of crying
21:37:02  <piscisaureus_>isaacs: but we we need a query that excludes all the projects that *also* have a binding.gyp
21:37:17  <isaacs>piscisaureus_: no, because those packages need to be re-published
21:37:33  <isaacs>piscisaureus_: if the package.json has a install command already, npm doesn't override it
21:37:53  <isaacs>eventually, i want to remove the scripts.install thing altogether
21:38:04  <isaacs>and just say, if you have a compile, you use node-waf, period.
21:39:18  * stagas_joined
21:39:23  <bnoordhuis>isaacs: *cough* node-gyp *cough*
21:39:51  <piscisaureus_>TooTallNate: curl http://registry.npmjs.org/-/scripts?scripts=install,preinstall,postinstall&match=\bnode-waf\b > x.json; node -e "console.log(require('x.json'))"
21:40:42  <piscisaureus_>ah, crap, ./x.json
21:40:55  * stagasquit (Ping timeout: 260 seconds)
21:40:58  * stagas_changed nick to stagas
21:41:40  <bnoordhuis>you know, i see a module on that list that's mine and doesn't use wscript
21:41:59  <bnoordhuis>i think we need a list of most recent releases that still use a wscript
21:42:41  <bnoordhuis>isaacs: ^
21:44:09  <isaacs>bnoordhuis: which module?
21:44:29  <isaacs>bnoordhuis: oh, right, s/waf/gyp/
21:44:30  <bnoordhuis>isaacs: unix-dgram
21:44:52  <bnoordhuis>oh
21:44:54  <isaacs>$ npm view unix-dgram scripts -q
21:44:55  <isaacs>{ preinstall: 'node-waf configure build' }
21:44:57  <bnoordhuis>i never published v0.0.2
21:45:01  <isaacs>see!!
21:45:04  <isaacs>the system works!
21:45:07  * bnoordhuisslinks back into corner
21:46:43  <isaacs>piscisaureus_: what's that curl for?
21:46:50  <isaacs>piscisaureus_: why not just `npm install -g jsontool`
21:46:54  <piscisaureus_>isaacs: pretty print it
21:46:54  <isaacs>and then curl $url | json
21:46:57  <piscisaureus_>oh
21:47:04  <piscisaureus_>yeah then I have to insall json
21:47:19  <isaacs>or you can do: (echo '('; curl 'http://registry.npmjs.org/-/scripts?scripts=install,preinstall,postinstall&match=\bnode-waf\b'; echo ')') | node -p
21:47:36  <isaacs>definitely have to quote the url, though, or the & will eat your lunch
21:49:45  <piscisaureus_>isaacs: I know more ways:
21:49:45  <piscisaureus_>echo "<?php var_dump(json_decode(file_get_contents('http://registry.npmjs.org/-/scripts?scripts=install,preinstall,postinstall&match=\\bnode-waf\\b')) ?>" | php
21:49:57  <piscisaureus_>but what's the point ? :-)
21:53:34  <isaacs>i bet there's some way to do it all with awk and sec
21:53:37  <isaacs>*sed
21:54:04  <isaacs>piscisaureus_: or i could just update the _list fnction to output pretty printed json ;P
21:54:26  <bnoordhuis>why do so many people spell joyent as joynet?
21:54:30  <piscisaureus_>isaacs: we could start a web service to do this
21:54:39  <piscisaureus_>isaacs: and then fund it with kickstarter
21:54:45  <piscisaureus_>and then not do it after all and run with the money
21:54:53  * piscisaureus_is always waiting for someone to do that
21:57:16  <isaacs>bnoordhuis: do you recommend pulling this into 0.8?
21:57:19  <isaacs>https://github.com/joyent/libuv/commit/9f7cdb2.patch
21:58:36  <bnoordhuis>isaacs: no, not yet
21:59:05  * loladiroquit (Ping timeout: 276 seconds)
22:00:44  <isaacs>bnoordhuis: why not?
22:04:28  * EhevuTovjoined
22:04:57  <bnoordhuis>isaacs: i'm not 100% convinced that there are no bad side effects
22:07:09  * EhevuTov_quit (Ping timeout: 252 seconds)
22:07:56  <isaacs>ok
22:10:58  <mitsuhiko>yo. ih ave a tiny patch against http-parser that makes it compile without warnings on -pedantic in c89 mode
22:11:40  <mitsuhiko>how does this look? https://gist.github.com/3344440
22:14:38  <bnoordhuis>mitsuhiko: bad - you're turning method_strings into one single big string
22:14:54  <bnoordhuis>have you run the tests?
22:15:10  <mitsuhiko>bnoordhuis: i am doing what?
22:15:22  <mitsuhiko>tests pass
22:15:37  <mitsuhiko>bnoordhuis: oh, no. i moved the commas to the macro usage
22:15:56  <bnoordhuis>mitsuhiko: ah, like that
22:16:05  <bnoordhuis>that's not acceptable though, that'll break node
22:16:20  <mitsuhiko>how so?
22:16:27  <mitsuhiko>does it use the macro?
22:16:32  <bnoordhuis>yes
22:16:41  <mitsuhiko>sadness
22:17:02  <bnoordhuis>i could live with a patch that adds NULL, MAX_METHOD_NAMES, etc. to silence gcc
22:17:16  <bnoordhuis>hrm, then again...
22:17:27  <bnoordhuis>i think we use ARRAY_SIZE(method_strings) in a couple of places
22:18:41  <mitsuhiko>unfortunately clang has no switch for that particular error as far as i can see
22:20:30  <CIA-134>libuv: Bert Belder master * r4442ddc / include/uv-private/uv-win.h : windows: fix formatting issue in uv-win.h - http://git.io/xW67sA
22:21:02  <bnoordhuis>mitsuhiko: don't compile with -pedantic, i stopped doing that a long time ago
22:21:10  <bnoordhuis>there's a fine line between helpful and pedantic
22:21:15  <bnoordhuis>guess what side -pedantic is on
22:21:19  <mitsuhiko>bnoordhuis: yeah, will probably do that
22:21:27  <mitsuhiko>i mainly used -pedantic to convert that code to c89
22:21:31  <mitsuhiko>take a good guess why
22:21:49  <bnoordhuis>because c89 is the last and final c standard?
22:22:15  <mitsuhiko>as far as microsoft is concerned: yes!
22:22:20  <bnoordhuis>heh
22:22:22  * travis-cijoined
22:22:22  <travis-ci>[travis-ci] joyent/libuv#555 (master - 4442ddc : Bert Belder): The build is still failing.
22:22:22  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/7c3ba514e789...4442ddcaaedc
22:22:22  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2112789
22:22:22  * travis-cipart
22:25:05  * EhevuTov_joined
22:28:02  * EhevuTovquit (Ping timeout: 256 seconds)
22:28:45  * toothrchanged nick to toothrot
22:31:01  <bnoordhuis>TooTallNate: https://github.com/joyent/node/commit/00fa8864b4b8ff0650e9c82a2ee1f5e87f452c4a#commitcomment-1708797 <- seen this?
22:31:03  * EhevuTov_quit (Ping timeout: 240 seconds)
22:34:41  * EhevuTovjoined
22:34:57  * btraskjoined
23:04:17  * stagasquit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204])
23:05:51  <CIA-134>libuv: Bert Belder master * r7fb43d3 / (src/win/async.c uv.gyp src/win/atomicops-inl.h): windows: move uv_atomic_exchange_set to atomicops-inl.h - http://git.io/mIpyrQ
23:07:31  * travis-cijoined
23:07:31  <travis-ci>[travis-ci] joyent/libuv#556 (master - 7fb43d3 : Bert Belder): The build is still failing.
23:07:31  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/4442ddcaaedc...7fb43d3c5ba1
23:07:31  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/2113251
23:07:31  * travis-cipart
23:11:25  <piscisaureus_>bnoordhuis: hey
23:11:41  <piscisaureus_>bnoordhuis: int uv_signal_start(uv_signal_t* handle, uv_signal_cb signal_cb, int signum) <-- how did you envision this?
23:11:45  * dshaw_quit (Quit: Leaving.)
23:12:24  <piscisaureus_>bnoordhuis: does that clear queued-but-not-made callbacks, for example?
23:12:27  <bnoordhuis>piscisaureus_: wdym?
23:14:01  <piscisaureus_>bnoordhuis: timeline:
23:14:01  <piscisaureus_>1. uv_signal_start(handle, SIGINT)
23:14:01  <piscisaureus_>2. SIGINT arrives
23:14:01  <piscisaureus_>3. uv_signal(handle, SIGWINCH)
23:14:01  <piscisaureus_>4. It's time to make the callback. Do we, or did uv_signal_start clear the pending status somehow?
23:14:02  * dshaw_joined
23:14:32  <bnoordhuis>piscisaureus_: 3. should read uv_signal_start(handle, cb, SIGWINCH)?
23:14:44  <piscisaureus_>yeah, sure, you get the meaning right
23:14:48  <piscisaureus_>i left the cb out
23:14:48  <bnoordhuis>yep
23:15:01  <bnoordhuis>well, right now the second call to uv_signal_start is a no-op
23:15:09  <bnoordhuis>which brings me to a related issue
23:15:26  <piscisaureus_>aha
23:15:29  <bnoordhuis>we should consistify what happens when a handle is already active
23:15:37  <piscisaureus_>yeah
23:15:38  <piscisaureus_>agreed
23:15:40  <bnoordhuis>(i made up that word btw)
23:16:15  <bnoordhuis>i was thinking of returning -1 with error UV_EBUSY
23:16:31  <piscisaureus_>nah
23:16:39  <piscisaureus_>I like that you can change the poll mask for uv_poll
23:16:43  <piscisaureus_>and restart timers
23:16:52  <piscisaureus_>so, ehm, really?
23:17:03  <bnoordhuis>rather inconsistent though, isn't it?
23:17:23  <piscisaureus_>rather useful tho, right?
23:18:12  <piscisaureus_>prepare|check|idle could just update the callback
23:18:31  <piscisaureus_>read_start too, although there is one issue
23:18:40  <bnoordhuis>much to difficult to remember
23:18:45  <piscisaureus_>which is that read_start and read2_start are really mutually exclusive
23:18:49  <bnoordhuis>i mean, i wrote most of it and i don't even remember
23:18:57  <piscisaureus_>well
23:19:01  <piscisaureus_>I did too
23:19:06  <piscisaureus_>and I remember :-)
23:19:13  <bnoordhuis>just wait until you get to my age
23:20:05  <piscisaureus_>well, I just started drinking more
23:20:05  <piscisaureus_>that might help
23:20:05  <bnoordhuis>it will
23:20:05  <bnoordhuis>but back to the point, i move strongly to just always do one thing
23:20:05  <bnoordhuis>consistency is more important than ease of use
23:20:09  <piscisaureus_>I tend to agree
23:20:15  <bnoordhuis>especially because it's not actually going to be easy to use if there are all kinds of exceptions
23:20:31  <piscisaureus_>well, let's not have too many exceptions
23:20:39  <piscisaureus_>so you want to add uv_poll_set or something?
23:20:51  <piscisaureus_>I mean, you need to update the events mask
23:21:25  <bnoordhuis>uv_poll_stop + uv_poll_start
23:21:27  <piscisaureus_>bnoordhuis: :-(
23:21:33  <piscisaureus_>bnoordhuis: that will make my life very difficult
23:21:36  <bnoordhuis>why?
23:22:09  <piscisaureus_>bnoordhuis: because uv-win will try to cancel some overlapped operation on uv_poll_stop
23:22:23  <piscisaureus_>bnoordhuis: but when you change the event mask, it will either queue another or do nothing
23:22:36  <piscisaureus_>e.g. it's just syscall spilling
23:23:01  <bnoordhuis>hrm, so can't you defer the actual cancel until the end of the tick / before you enter WaitForMultipleObjects?
23:23:17  <piscisaureus_>WaitForMultipleObjectSex
23:23:31  <bnoordhuis>ho ho ho
23:23:32  <piscisaureus_>yes, that's why I said, it will make my life difficult :-)
23:23:46  <piscisaureus_>bnoordhuis: http://msdn.microsoft.com/en-us/library/windows/desktop/ms687028%28v=vs.85%29.aspx
23:23:59  <bnoordhuis>turn off those colors, damn it >:(
23:24:30  <piscisaureus_>is your irc client really so stupid to display black on black?
23:24:39  <piscisaureus_>I mean, mine is buggy - I didn't ask for these colors
23:24:42  <bnoordhuis>yes
23:24:50  <bnoordhuis>it's something you can enable/disable though
23:25:10  <piscisaureus_>alright
23:25:37  <piscisaureus_>mine will always switch on colors when I copy colored text :-(
23:26:38  <piscisaureus_>bnoordhuis: we could also define it like this
23:26:51  <piscisaureus_>bnoordhuis: starting a started handle == stop + start
23:27:08  <piscisaureus_>that's be party
23:27:16  <bnoordhuis>i don't know
23:27:28  <bnoordhuis>in my experience calling uv_foo_start() twice is usually an application bug
23:27:41  <bnoordhuis>we could just abort() :)
23:28:07  * rendarquit
23:28:07  <piscisaureus_>maybe we can use an env var for this
23:28:23  <piscisaureus_>UV_BNOORDHUISLY_CORRECT
23:28:52  <bnoordhuis>haha
23:36:11  <piscisaureus_>On unix, is there any signal with signum 0 ?
23:36:16  <piscisaureus_>conceivably?
23:36:27  <piscisaureus_>bnoordhuis: bennetje? --^
23:37:49  <bnoordhuis>piscisaureus_: no
23:38:01  <bnoordhuis>otherwise kill(pid, 0) could never work
23:38:38  <bnoordhuis>grr, why does `valgrind --db-attach=yes` crash gdb?
23:41:32  <bnoordhuis>seems gdb forgets to do a NULL check after fopen("/path/to/localization")...
23:45:21  <piscisaureus_>bnoordhuis: right, of course, thanks
23:49:05  * mikealquit (Quit: Leaving.)