00:07:34  * `3rdEdenquit (Quit: Zzzzzz)
00:46:31  * CIA-114quit (Read error: Operation timed out)
00:49:55  * CIA-101joined
01:10:23  * bnoordhuisquit (Ping timeout: 272 seconds)
02:03:14  * brsonquit (Quit: leaving)
02:27:34  * theColejoined
02:32:54  * isaacsquit (Remote host closed the connection)
02:50:27  * orlandovftwquit (Ping timeout: 272 seconds)
03:17:31  * theColequit (Quit: theCole)
03:33:00  * isaacsjoined
03:34:13  * ircretary1quit (Remote host closed the connection)
03:34:19  * ircretaryjoined
04:04:40  * toothrquit (Quit: here we are)
04:28:47  * Mellowjoined
04:34:21  <Mellow>The build is broken on mingw. It uses IPV6_HOPLIMIT that the mingw includes don't define.
04:41:46  * htoothrotjoined
04:41:51  * htoothrotchanged nick to toothr
04:44:53  * dshaw_joined
04:53:28  * Mellowquit (Quit: Leaving)
06:17:41  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
06:27:15  * dshaw_quit (Quit: Leaving.)
06:42:59  * perezdquit (Read error: Connection reset by peer)
06:43:21  * perezdjoined
07:47:32  * luxigoquit (Ping timeout: 245 seconds)
07:48:53  * luxigojoined
08:00:29  * TooTallNatejoined
08:31:09  * isaacs_mobilejoined
08:35:36  * isaacs_mobilequit (Read error: Connection reset by peer)
08:36:05  * isaacs_mobilejoined
08:36:46  * isaacs_mobilequit (Read error: Connection reset by peer)
08:39:25  * mraleph1joined
08:49:01  * TooTallNatequit (Quit: Linkinus - http://linkinus.com)
08:52:19  <CIA-101>node: koichik v0.6 * r0f0af55 / (lib/net.js test/simple/test-net-write-slow.js):
08:52:19  <CIA-101>node: net: fix large file downloads failing
08:52:19  <CIA-101>node: Fixes #2678. - http://git.io/qJapNA
08:58:20  * `3rdEdenjoined
09:00:05  * travis-cijoined
09:00:05  <travis-ci>[travis-ci] joyent/node#367 (v0.6 - 0f0af55 : koichik): The build passed.
09:00:05  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/11d1eca...0f0af55
09:00:05  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/628653
09:00:05  * travis-cipart
09:02:13  * `3rdEdenquit (Client Quit)
09:36:01  * paddybyersjoined
09:42:57  * isaacsquit (Remote host closed the connection)
09:56:05  * `3rdEdenjoined
10:13:52  <CIA-101>node: koichik v0.6 * ra2cd31c / (3 files):
10:13:52  <CIA-101>node: doc: add the note about 'data' event
10:13:52  <CIA-101>node: Refs #2691. - http://git.io/EL7N1w
10:21:34  * travis-cijoined
10:21:34  <travis-ci>[travis-ci] joyent/node#368 (v0.6 - a2cd31c : koichik): The build was broken.
10:21:34  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/0f0af55...a2cd31c
10:21:34  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/628858
10:21:34  * travis-cipart
10:52:53  * bnoordhuisjoined
11:25:52  * AndreasMadsenjoined
11:35:49  * `3rdEdenquit (Read error: Connection reset by peer)
11:35:56  * V1joined
11:39:10  * V1quit (Read error: Connection reset by peer)
11:39:16  * `3rdEdenjoined
11:40:49  * `3rdEdenquit (Read error: Connection reset by peer)
11:43:12  * `3rdEdenjoined
11:45:23  * `3rdEdenquit (Read error: Connection reset by peer)
11:45:33  * V1joined
12:00:19  <AndreasMadsen>bnoordhuis: the error exist on linux too, but the output from strace is to big. the log file start at line 3876, is there a way I can log it all.
12:02:00  * paddybyersquit (Quit: paddybyers)
12:05:30  <AndreasMadsen>perhaps it is just me, trying again
12:15:35  <AndreasMadsen>bnoordhuis: got it, look in the issue :)
12:15:48  <AndreasMadsen>got the trace, not why
12:37:52  <mmalecki>bnoordhuis: hey! remember saying that libuv isn't fork safe?
12:38:08  <AndreasMadsen>hehe
12:39:03  * paddybyersjoined
12:45:13  <indutny>z
12:45:15  <indutny>oops
12:46:28  <mmalecki>hi indutny
12:50:30  <indutny>hi
12:58:10  * V1changed nick to `3rdEden
13:41:17  * toothrquit (Ping timeout: 245 seconds)
14:31:20  <AndreasMadsen>so after 1h of windows hacking I could confirm that #2698 is not an issue on windows :p
14:32:02  <mmalecki>fucking windows, it breaks our bugs!
14:32:39  <AndreasMadsen>mmalecki: but now you can rewrite forever to work on windows only :)
14:34:17  <mmalecki>AndreasMadsen: YES!
14:35:20  <AndreasMadsen>mmalecki: thinks always breaks on windows now and then, so I think forever is most relevant to windows.
14:35:22  <AndreasMadsen>:D
14:36:23  <AndreasMadsen>mmalecki: It always amasses me that windows support just say "please reinstall windows and try again", like why is it required to reinstall windows every year.
14:37:07  <AndreasMadsen>To run windows you need to have nodeOS installed then npm install forever and execute "forever windows.js"
14:38:40  <mmalecki>hahaha
14:38:52  <mmalecki>nice way of thinking you have there :D
14:40:21  <AndreasMadsen>mmalecki: actually it should be "forever windows.js --reinstall-first"
14:41:11  <mmalecki>forever windows.js --reinstall-first --no-bsod --please-dont-break-this-time
14:41:24  <AndreasMadsen>lol
14:42:15  <AndreasMadsen>mmalecki: did you see the very long named commands windows azure require
14:42:31  <AndreasMadsen>like --please-dont-break-this-time-really-really-really-really
14:42:31  <kohai>like has -1 beer
14:42:38  <AndreasMadsen>c++
14:42:39  <kohai>c has 3 beers
14:43:02  <AndreasMadsen>kohai you are not intelligent
14:43:44  <mmalecki>AndreasMadsen: no, I didn't, I try not to touch anything with 'windows' in name
14:43:54  <mmalecki>kohai: describe yourself, would you?
14:43:55  <kohai>I am Kohai, semi-useful communications-facilitating pseudointelligence!
14:44:21  <AndreasMadsen>kohai describe pseudointelligence
14:44:30  <AndreasMadsen>kohai: describe pseudointelligence
14:44:31  <kohai>I am Kohai, semi-useful communications-facilitating pseudointelligence!
14:44:39  <AndreasMadsen>well
14:45:18  <AndreasMadsen>kohai: one day I will make you a neural network
14:45:19  <kohai>I am Kohai, semi-useful communications-facilitating pseudointelligence!
14:45:36  <AndreasMadsen>kohai: but you will have too ask nicely
14:45:36  <kohai>I am Kohai, semi-useful communications-facilitating pseudointelligence!
14:55:32  <AndreasMadsen>mmalecki: could you post the link to the libuv line calling fork() in the issue, that would make my day
14:56:28  <mmalecki>sure
14:56:52  <mmalecki>link to the issue?
14:56:59  <AndreasMadsen>https://github.com/joyent/node/issues/2698
15:00:36  <mmalecki>done
15:00:43  <AndreasMadsen>thanks
15:32:17  * AndreasMadsenquit (Remote host closed the connection)
15:53:43  * AndreasMadsenjoined
15:59:06  * `3rdEdenquit (Read error: Connection reset by peer)
16:24:02  * htoothrotjoined
16:33:43  * htoothrotchanged nick to toothr
16:35:30  * piscisaureus_joined
16:39:19  * piscisaureus_changed nick to piscisaureus
17:18:44  * isaacsjoined
17:33:53  * sh1mmerjoined
17:33:58  * isaacsquit (Remote host closed the connection)
17:43:15  * `3rdEdenjoined
17:46:55  * AndreasM_joined
17:47:08  * AndreasM_quit (Client Quit)
17:47:23  * AndreasM_joined
17:54:50  <CIA-101>libuv: Bert Belder v0.6 * r443445a / src/win/tty.c : Windows: reset brightness when reverting to default text color - http://git.io/0bVhRw
17:56:30  * travis-cijoined
17:56:30  <travis-ci>[travis-ci] joyent/libuv#78 (v0.6 - 443445a : Bert Belder): The build is still failing.
17:56:30  <travis-ci>[travis-ci] Change view : https://github.com/joyent/libuv/compare/e2565c3...443445a
17:56:30  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/630283
17:56:30  * travis-cipart
17:57:31  * isaacsjoined
17:57:47  * AndreasM_quit (Remote host closed the connection)
17:59:11  * AndreasM_joined
17:59:31  * TooTallNatejoined
18:00:09  <TooTallNate>piscisaureus: hey
18:00:18  <piscisaureus>TooTallNate: hey
18:00:31  <TooTallNate>piscisaureus: question: is msbuild.exe safe to invoke from outside a Visual Studio command prompt?
18:00:37  <TooTallNate>like from a vanilla cmd or a Git Bash?
18:01:12  <TooTallNate>seems like it works, just wanna make sure some obscure things aren't missing
18:01:20  <piscisaureus>TooTallNate: If it works, it works.
18:01:38  <TooTallNate>:) ok good enough for me
18:01:47  <piscisaureus>TooTallNate: generally what we do is call vcvarsall.bat that's located somewhere in the vc directory
18:02:16  <piscisaureus>TooTallNate: it basically sets up all the environment variables that the VC command prompt loads on startup
18:02:34  <TooTallNate>right, i saw that in vcbuild.bat, that might be the way to go actually
18:02:59  <TooTallNate>but how can I make cp.spawn() invoke that bat file, then invoke msbuild using the same prompt?
18:03:29  <piscisaureus>Tootallnate: heh
18:03:53  <piscisaureus>TooTallNate: probably spawn something like "cmd -c path\to\vcvarsall.bat && msbuild"
18:04:11  <TooTallNate>piscisaureus: beautiful, that's just what I was thinking
18:04:16  <TooTallNate>thanks
18:04:27  <piscisaureus>TooTallNate: that probably won't work out of the box. There is a special undocumented option that disables args quoting for spawn
18:04:36  * piscisaureushave to run. bbiab
18:04:56  <TooTallNate>i'll just look at cp.exec() and copy it
18:05:13  <TooTallNate>isaacs: piscisaureus: can we get a node.lib for 0.7.x uploaded too?
18:05:27  <isaacs>sure, one sec
18:10:24  * AndreasM_quit (Remote host closed the connection)
18:13:26  * paddybyersquit (Ping timeout: 260 seconds)
18:31:35  * dshaw_joined
18:34:36  * kohaiquit (Ping timeout: 252 seconds)
18:36:03  * kohaijoined
18:42:17  <isaacs>TooTallNate: ok, uploaded for 0.7.1 and 0.7.2
18:42:22  <isaacs>sorry for the lag
18:43:28  <TooTallNate>isaacs: no prob, thanks!
18:44:25  <TooTallNate>isaacs: this node-gyp is getting close to an initial release :)
18:45:42  <isaacs>that's so badass
18:45:46  <isaacs>i thought it would take much longer
18:45:55  <piscisaureus>TooTallNate: will node-gyp work with vs express or with just the sdk?
18:46:58  <TooTallNate>piscisaureus: i'm testing with vs express
18:47:10  <piscisaureus>isaacs: TooTallNate: btw I kinda like this solution for compiling addons btw
18:47:27  * dshaw_quit (Quit: Leaving.)
18:47:51  <TooTallNate>isaacs: well it's orders of magnitude of a smaller program than npm
18:48:16  <TooTallNate>plus i've been hammering away at this thing since friday with little sleep :p
18:48:18  <isaacs>TooTallNate: express?
18:48:22  <piscisaureus>isaacs: although it would still be neat if there was a better solution for paas vendors
18:48:31  <TooTallNate>visual studio express, the free version
18:48:34  <isaacs>mm
18:48:43  * isaacswas thinking of the node cms thingie
18:48:50  <isaacs>s/cms/mvc/
18:49:11  <mmalecki>next one XD ?
18:49:23  <piscisaureus>TooTallNate: the downside of VS express is that it doesn't have an x64 compiler. Soon we will have x64 builds of node.
18:49:43  <piscisaureus>TooTallNate: the SDK - which is also free - does contain an x64 compiler
18:50:08  <TooTallNate>piscisaureus: so what is the sdk then? i dont think im familiar
18:50:33  <piscisaureus>TooTallNate: http://www.microsoft.com/download/en/details.aspx?id=8279
18:51:16  <TooTallNate>piscisaureus: interesting. does node build with just the sdk?
18:51:37  <piscisaureus>TooTallNate: I have no machines that have just the sdk on it. But it should be possible
18:51:55  <piscisaureus>TooTallNate: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx
18:51:59  <piscisaureus>see the first note
18:52:42  <TooTallNate>piscisaureus: oh ok, so it supplements the express version
18:52:56  <piscisaureus>TooTallNate: actually I think the SDK has everything in there to build node
18:53:11  <piscisaureus>TooTallNate: the only thing I am not sure about is msbuild.
18:53:23  <TooTallNate>hahaha
18:53:44  <TooTallNate>what would be the command to build a project generated from gyp then?
18:53:58  * piscisaureusdownloads the sdk
18:55:45  <isaacs>TooTallNate: here's an insane idea... could node-gyp be smart enough to actually download that stuff if you're on windows, and it doesn't find it already installed?
18:56:06  <isaacs>maybe prompt first or somethign
18:56:22  <piscisaureus>isaacs: that would be better. It would download 600mb of cruft
18:56:31  <isaacs>but like, HOLY CRAP that would be a shockingly easy experience for new windows users.
18:56:44  <piscisaureus>isaacs: just popping a download url would be fine I think
18:56:51  <TooTallNate>isaacs: i dunno sounds pretty crazy :p maybe if the installer could run in the background or something
18:57:01  <isaacs>maybe error out with something like "Blahblah.bat could not be found. Would you like me to install some whizbangs for you?"
18:57:50  <isaacs>then maybe download the msi or whatever installs the stuff, and open the file. wouldn't be too hard
18:58:09  <isaacs>sholdnt be done in the background, though, i mean, they might need to choose install locations or whatever else. and it takes a litlte while to complete
18:58:19  <TooTallNate>isaacs: ok good point
18:58:37  <isaacs>plus i think the installer pops up a window
18:58:41  <TooTallNate>isaacs: does launching gui programs work with cp.spawn()? can't say i've tried
18:59:12  <isaacs>TooTallNate: well, you don't actually spawn the gui program, you spawn cmd and tell it to
18:59:18  <piscisaureus>TooTallNate: it just works
18:59:20  <isaacs>TooTallNate: that's how `npm help` opens a url on windows
18:59:41  <isaacs>spawning iexplore or google-chrome does kind of work, but it's weird.
18:59:43  <piscisaureus>TooTallNate: but you can imagine it won't speak much on stdout
18:59:53  <isaacs>spawning cmd /c start http:.... works better
18:59:59  <piscisaureus>isaacs: why is it weard?
19:00:15  <piscisaureus>*weird
19:00:21  <isaacs>piscisaureus: there's no way to get their default browser, and it blocks until they close it, i think
19:00:34  <piscisaureus>isaacs: well - it shouldn't block
19:00:34  <isaacs>last i checked was around 0.6.1, might be less weird now, i dunno
19:00:54  <piscisaureus>isaacs: but yeah, the process does not emit exit until it exits :-)
19:01:03  <isaacs>right, that's what i mean
19:01:09  <piscisaureus>isaacs: which is kind of what you expect right?
19:01:13  <isaacs>cmd will fork off the browser and exit immediately
19:01:54  <piscisaureus>isaacs: yes that's what `start` does
19:02:15  <piscisaureus>isaacs: we could provide that option in node as well, starting a "detached process"
19:03:53  <isaacs>piscisaureus: that'd be nice.
19:04:02  <isaacs>but people will use it to daemonize child node processes.
19:04:03  <mmalecki>isaacs: on linux you can spawn 'xopen'
19:04:04  <isaacs>(for better or worse)
19:04:14  <isaacs>mmalecki: there's a few different ones on linux.
19:04:18  <isaacs>there's also gnopen
19:04:30  <mmalecki>isaacs: xopen comes from Xorg, iirc
19:04:33  <isaacs>why they can't just call them "open" like on os x, i dunno
19:04:46  <mmalecki>isaacs: other ones are from gnome, kde, etc., I think
19:04:49  <isaacs>right
19:04:56  <mmalecki>also +1 for detached process
19:05:12  <piscisaureus>isaacs: i wonder what that means on unices
19:05:17  * paddybyersjoined
19:06:20  <isaacs>piscisaureus: there's some trick you can do so that when the parent process dies, the child doesn't, and the parent doesn't wait around for it
19:06:34  <mmalecki>piscisaureus: dup2'ing it's file descriptors, setsid, and all that fork thing
19:06:34  <isaacs>you can kind of simulate it with what we have now, but not exactly
19:06:44  <isaacs>yeah, it's kind of a pain
19:06:46  <isaacs>and very non-windowsy
19:07:03  <mmalecki>we did that with forever - fork and process.exit()
19:07:13  <isaacs>if we were to provide a nice cross-platform API that had similar semantics on both win and unix, that'd be cool, but probably not a priority right now
19:07:29  <isaacs>it'd be better if someone did this as an addon, and then we pulled it in maybe. i dunno.
19:07:44  <mmalecki>isaacs: there's an addon already :)
19:07:56  <isaacs>it's not really a core network program necessity, but it is a very helpful thing to be able to do in systems programming
19:08:02  <mmalecki>for linux, at least
19:08:07  <isaacs>mmalecki: right, but it's linux only
19:08:10  <isaacs>not portable
19:08:14  <mmalecki>isaacs: yeah
19:08:25  <TooTallNate>piscisaureus: isaacs: i'm getting "invalid argument" trying to load a native module
19:08:27  <TooTallNate>on OS X
19:08:42  <isaacs>TooTallNate: which module?
19:09:01  <TooTallNate>one that i've compiled, i'm just trying to debug
19:09:13  <tjfontaine>is this another 32/64 issue?
19:09:13  <TooTallNate>is there a more detailed error message somehow?
19:12:12  <indutny>TooTallNate: you can add fprintf(stdout, "%s\n", dlerror())
19:12:18  <AndreasMadsen>mmalecki: what is wrong with my pull request?
19:12:18  <indutny>to node.cc
19:12:23  <AndreasMadsen>https://github.com/joyent/node/pull/2676
19:12:27  <indutny>TooTallNate: what version are you using?
19:12:58  <TooTallNate>indutny: was trying to compile a module for 0.6
19:13:15  <TooTallNate>indutny: ok, i'll recompile, grrrr
19:13:36  <piscisaureus>dlerror is so fucking retarded
19:13:48  <mmalecki>AndreasMadsen: nothing, when it gets in, it'll be the preferred method
19:13:58  <mmalecki>oh! actually, this implements detached process!
19:14:04  <mmalecki>isaacs: piscisaureus ^
19:14:58  <AndreasMadsen>mmalecki: yes it is funny to discuss something where is already is an easy solution.
19:15:52  <piscisaureus>mmalecki: that's not the way to do it on windows
19:16:30  <piscisaureus>mmalecki: we need some libuv support for that to work properly
19:17:08  <mmalecki>piscisaureus: but it's JS-only...
19:17:45  <TooTallNate>indutny: so the "invalid error" comes from within libuv
19:17:56  <AndreasMadsen>confused too
19:17:57  <piscisaureus>mmalecki: ehm, yes but, this will just create zombie processes
19:18:05  <TooTallNate>indutny: ive added fprintf statements before and after the uv_dlopen() call
19:18:10  <TooTallNate>compiling now
19:19:40  <AndreasMadsen>piscisaureus: what is the difference between zombie and detached - the exit event?
19:19:41  <mmalecki>piscisaureus: does zombie process mean the same on windows as on linux?
19:19:57  <mmalecki>and yeah, what AndreasMadsen said
19:20:11  <piscisaureus>mmalecki: yes kind of
19:20:51  <piscisaureus>AndreasMadsen: what if the child process *does* die before the parent exits?
19:21:19  <piscisaureus>AndreasMadsen: unix systems will keep it around because the parent process might still want to reap it
19:21:21  <AndreasMadsen>piscisaureus: then it die, and the parent is alive
19:21:55  <TooTallNate>anyone think these differences between 0.6 and 0.7 node's common.gypi file would make modules not build properly?
19:21:56  <TooTallNate>https://gist.github.com/1747520
19:22:04  <TooTallNate>isaacs: ^
19:22:22  <piscisaureus>TooTallNate: yes, I think so
19:22:39  <TooTallNate>piscisaureus: ok thanks, that likely solves that
19:22:44  * kohaiquit (Remote host closed the connection)
19:22:44  <AndreasMadsen>piscisaureus: " will keep it around" <- what is it
19:22:49  <piscisaureus>TooTallNate: your module tries to import some symbol that wasn't marked with NODE_EXPORT, UV_EXPORT, CARES_EXTERNAL etc
19:23:16  <piscisaureus>TooTallNate: could be ares_inet_ntop / ares_inet_pton
19:23:29  <piscisaureus>TooTallNate: or some libev function
19:24:01  <piscisaureus>AndreasMadsen: http://en.wikipedia.org/wiki/Zombie_process
19:24:59  <AndreasMadsen>piscisaureus: testing
19:25:25  <piscisaureus>AndreasMadsen: if you destroy the libuv child watcher before the child exits we will never call wait() so the child is never reaped
19:26:19  * dshaw_joined
19:26:27  <piscisaureus>AndreasMadsen: Also, I think that in windows closing the child watcher wont't work. Libuv-win just won't emit the close event until your child exists, so effectively you're leaking stuff.
19:27:01  <AndreasMadsen>piscisaureus: okay did not test on windows
19:27:34  <indutny>TooTallNate: sorry, was afk
19:27:45  <piscisaureus>AndreasMadsen: oh nm - uv_close doesn't even work for child process handles on windows. It'll crash.
19:27:49  <indutny>TooTallNate: you can try pulling out node-waf from 0.7.0
19:27:53  <indutny>0.7.x actually
19:28:34  <TooTallNate>indutny: we figured out it was the common.gypi file
19:28:40  <piscisaureus>AndreasMadsen: actually that should not work in unix either.
19:28:47  <TooTallNate>indutny: im writing node-gyp fyp, so i'm not using any waf
19:28:55  <TooTallNate>s/fyp/fyi
19:29:04  <AndreasMadsen>piscisaureus: oh :p
19:29:19  <indutny>oh cool
19:29:38  <AndreasMadsen>mmalecki: did you talk with bnoordhuis about fork(2)
19:29:48  <mmalecki>AndreasMadsen: no, didn't get a chance
19:30:00  <mmalecki>bnoordhuis: heeeeeey, you there?
19:30:34  <AndreasMadsen>this might be a good time to involve others if not - it is a big issue.
19:30:35  <piscisaureus>AndreasMadsen: ChildProcess._internal.close() is a no-op
19:30:52  <AndreasMadsen>piscisaureus: I got it :)
19:32:23  * TooTallNateloves having a "clean" command for all the crap gyp generates
19:33:18  <piscisaureus>TooTallNate: (carefult) git clean -fdX
19:34:08  <TooTallNate>i mean i added a `node-gyp clean` command, and its nice
19:34:46  <TooTallNate>piscisaureus: confirmed that it's the common.gypi changes that make it work
19:35:05  <TooTallNate>which means for 0.6, i have to copy over the one from 0.7 branch
19:35:10  <TooTallNate>0.6 is a mess
19:35:21  <TooTallNate>supporting it with node-gyp i mean
19:35:26  <piscisaureus>TooTallNate: I think we should have dlerror() support for libuv so you can see what symbols are missing
19:35:37  <piscisaureus>if only dlerror() was thread-safe ..
19:35:49  <AndreasMadsen>piscisaureus: never or less the child is not in the process table
19:37:44  <piscisaureus>AndreasMadsen: right - that probably means that uv_close did not do it's job
19:37:47  <indutny>piscisaureus: mutex
19:37:58  <indutny>piscisaureus: and dlerror is called from one thread
19:38:07  <indutny>piscisaureus: from event-loop's one
19:38:18  <indutny>at least, in node
19:38:55  <indutny>so just some sort of static mutex may help
19:39:12  <AndreasMadsen>mmalecki: I think bnoordhuis is hiding, after being embarrassed
19:39:37  <mmalecki>yeah, I guess so
19:39:47  <mmalecki>bnoordhuis: it's all good, we still love you! :3
19:39:59  <AndreasMadsen><3
19:40:42  <indutny>bnoordhuis: ++
19:40:50  <piscisaureus>bnoordhuis doesn't really care about being embarrased. His life would be so miserable. >-)
19:41:28  <mmalecki>indutny: kohai gone mad, I had to restart it and we didn't save settings
19:41:34  <mmalecki>piscisaureus: haha
19:42:05  <indutny>mmalecki: glad that kohai died
19:42:06  <indutny>:D
19:42:39  <TooTallNate>does anyone wanna try out node-gyp so far?
19:42:42  <mmalecki>indutny: you bastard :(
19:42:45  <TooTallNate>super alpha, not windows yet
19:42:50  <TooTallNate>but i'm working on windows now
19:42:58  <TooTallNate>or should I just OS it?
19:43:33  <mmalecki>TooTallNate: os like a bos
19:43:36  <mmalecki>*boss
19:43:54  <AndreasMadsen>the issue is here https://github.com/joyent/node/issues/2698 - if anyone want to know why bnoordhuis is hiding
19:46:16  <indutny>TooTallNate: I want
19:47:03  <piscisaureus>AndreasMadsen: I don't really see how bnoordhuis should be embarrased?
19:47:07  <piscisaureus>AndreasMadsen: explain
19:47:07  <TooTallNate>indutny: mmalecki: here ya go: https://github.com/TooTallNate/node-gyp
19:47:31  <mmalecki>TooTallNate: win!
19:48:01  <AndreasMadsen>piscisaureus: he says I use fork(2) but it is libuv - and there have been so many discussions about node isn't fork safe, but
19:48:22  <TooTallNate>published an alpha version to npm as well
19:48:47  <TooTallNate>brb, shower
19:49:16  <indutny>TooTallNate: ooh my zosh
19:49:33  <piscisaureus>AndreasMadsen: node is not fork-safe if you want to use fork() to split up your process. But what libuv does (fork-exec) is the canonical way to start child processes on unix. This is supposed to work.
19:50:04  <indutny>piscisaureus: I actually think that node may be fork safe
19:50:13  <piscisaureus>indutny: nope it isn't
19:50:17  <indutny>piscisaureus: only thing that isn't is a kqueue stuff
19:50:27  <mmalecki>I mean, it *works* with forever
19:50:27  <indutny>and every stuff that binds to kernell
19:50:28  <piscisaureus>indutny: fork() will not duplicate threads
19:50:34  <indutny>piscisaureus: aaah
19:50:38  <indutny>piscisaureus: oooooh
19:50:46  <mmalecki>but I have no idea why didn't it work with previous daemon.node version
19:50:57  <indutny>piscisaureus: so fork() will work correctly only if there're no threads
19:51:21  <piscisaureus>mmalecki: well it could accidentally work if you don't have any ops pending on the thread pool
19:51:25  <piscisaureus>indutny: yes
19:51:26  <mmalecki>oh!
19:51:35  <indutny>piscisaureus: interesting
19:51:48  <mmalecki>is there a way to wair for completion of all ops in thread pool?
19:51:50  <AndreasMadsen>piscisaureus: the world make so much sense now
19:51:51  <indutny>piscisaureus: I think one may want to wait until all threads will be joined
19:51:52  <mmalecki>s/wair/way/
19:52:02  <piscisaureus>mmalecki: also, at the very least you should use ev_atfork to notify libev that you have been forked
19:52:03  <indutny>piscisaureus: while blocking thread creation
19:52:13  <mmalecki>piscisaureus: not ev_default_fork() ?
19:52:14  <piscisaureus>mmalecki: but libeio is not fork safe. period.
19:52:24  <piscisaureus>mmalecki: oh something like that yeah
19:52:36  <mmalecki>piscisaureus: we use it already :)
19:52:36  <piscisaureus>mmalecki: don't recall the name of the thing exactly
19:52:44  <indutny>it's for kqueue
19:52:46  <indutny>and other stuff
19:52:48  <indutny>I know
19:52:49  <mmalecki>indutny: so, hey, looks like a change we could do in deamon.node
19:53:09  <piscisaureus>I would strongly advice agains it :-)
19:53:14  <indutny>mmalecki: huh?
19:53:27  <indutny>mmalecki: how can this be done in user-land?
19:53:56  <mmalecki>indutny: daemon.node is C, we can use libuv API to wait for completion of ops in thread pool
19:54:07  <mmalecki>not sure if there's such an API in uv
19:54:13  <piscisaureus>there is none
19:54:18  <indutny>mmalecki: we should ask it to queue all other thread actions
19:54:26  <piscisaureus>the thread pool is supposed to be an implementation detai
19:54:27  <piscisaureus>l
19:54:29  <indutny>and do not create new threads before we'll fork
19:56:43  <mmalecki>indutny: sounds good, I guess
19:56:55  <mmalecki>are we allowed to modify tools/test.py?
19:58:18  <indutny>mmalecki: I think no
19:58:20  <indutny>:D
19:58:29  <indutny>why do we need it?
19:58:31  <mmalecki>lame
19:58:48  <mmalecki>indutny: it's a test runner
19:58:57  <indutny>sorry, bad english
19:59:08  <indutny>why do we need to modify it?
19:59:33  <mmalecki>indutny: test runner crashing after ^C is lame
19:59:53  <indutny>open PR
20:00:03  <mmalecki>also, whoever wrote it, had no idea about python :/
20:00:15  <indutny>it looks pretty similar to v8's one
20:00:32  <mmalecki>I think it comes from v8
20:07:36  <mmalecki>indutny: if I would like to start contributing to v8, should I choose issues without owner in bug tracker?
20:10:30  <indutny>mmalecki: I think you should talk to v8 team
20:11:34  <mmalecki>indutny: ah, ok. just started thinking about it
20:12:48  <piscisaureus>mmalecki: to start contributing to v8, take some practice :-)
20:12:51  <piscisaureus>v8 is difficult
20:13:09  <TooTallNate>piscisaureus: when 64-bit windows node comes, are we going to start distributing both versions?
20:13:22  <piscisaureus>TooTallNate. I think so. Isaacs?
20:13:24  <mmalecki>piscisaureus: I know it's difficult :)
20:13:35  <indutny>piscisaureus: mmalecki not really
20:13:41  <indutny>just look at code
20:13:51  <indutny>do small changes
20:14:14  <indutny>and you'll see how it's all connected with each other
20:14:23  <piscisaureus>and you'll give up
20:14:28  <indutny>piscisaureus: probably
20:14:33  <piscisaureus>because a small change breaks everything
20:14:35  <indutny>:)
20:14:47  <indutny>piscisaureus: so you gave up? :)
20:15:04  <piscisaureus>indutny: not always, but many times
20:16:30  <isaacs>yes, that's the plan
20:16:35  * isaacschanged nick to isaacs_away
20:17:12  <TooTallNate>isaacs_away: piscisaureus: when that happens we're gonna have to start releasing both node.lib versions, lol
20:17:34  <piscisaureus>and both node.exe versions :-)
20:17:39  <mmalecki>ooc, what node.lib is?
20:17:40  <TooTallNate>yup, yup
20:17:56  <piscisaureus>kinda painful since you cannot rename node.exe because that will break compiled addons
20:18:04  <piscisaureus>I wonder if there is a way around that
20:19:01  <TooTallNate>piscisaureus: ya, you can't rename addons either, haha
20:19:19  <piscisaureus>we could make that possible
20:19:31  <TooTallNate>(y)
20:19:58  <piscisaureus>I think pquerna had some reservations about it, but if all modules just export node_module_init it should be fine
20:20:27  <TooTallNate>that's not a huge problem anyways, there's workarounds
20:20:31  <TooTallNate>namely using directories
20:20:36  <TooTallNate>which is what node-bindings does
20:23:18  <tjfontaine>I'm still of the opinion addons for osx should be universal/fat
20:24:05  <piscisaureus>Guys, I'm checking out.
20:24:33  <piscisaureus>isaacs_away: btw, please don't rely on ircretary. I just received a message from you from a few weeks ago.
20:24:38  <piscisaureus>Use email :-)
20:25:46  <mmalecki>see you piscisaureus
20:28:41  <piscisaureus>later mmalecki
20:28:42  <TooTallNate>tjfontaine: that would be nice/possible, but there's an outstanding bug in gyp
20:28:46  * piscisaureusquit (Quit: ~ Trillian Astra - www.trillian.im ~)
20:28:55  <tjfontaine>TooTallNate: reference for me?
20:29:32  <TooTallNate>tjfontaine: https://github.com/joyent/node/issues/2392
20:29:41  <TooTallNate>tjfontaine: http://groups.google.com/group/gyp-developer/browse_thread/thread/db36d84d4f727cc3
20:30:14  <TooTallNate>tjfontaine: they also rolled in a patch a few weeks ago but it didn't work so they reverted it
20:30:58  <tjfontaine>TooTallNate: thanks
20:31:07  <TooTallNate>np
20:32:17  <TooTallNate>isaacs_away++
20:32:26  <TooTallNate>just mentioned node-gyp on nodeup :)
20:32:28  <TooTallNate>thanks bro
20:35:38  <TooTallNate>mmalecki: node.lib is the exported symbols from node
20:35:51  <TooTallNate>mmalecki: they get statically linked to the addon binary
20:36:45  <mmalecki>TooTallNate: ah, I get it, thanks
20:58:47  * luxigoquit (Ping timeout: 248 seconds)
21:00:41  * `3rdEdenquit (Read error: Connection reset by peer)
21:01:40  * `3rdEdenjoined
21:04:26  * `3rdEdenquit (Read error: Connection reset by peer)
21:04:48  * `3rdEdenjoined
21:14:06  * brsonjoined
21:17:09  * lwillequit (Quit: Linkinus - http://linkinus.com)
21:23:07  * felixgejoined
21:23:07  * felixgequit (Changing host)
21:23:07  * felixgejoined
21:31:37  * AndreasM_joined
21:34:04  * AndreasM_quit (Client Quit)
21:36:54  * AndreasMadsenquit (Remote host closed the connection)
21:52:04  * `3rdEdenquit (Quit: Zzzzzz)
21:52:17  * brsonquit (Ping timeout: 252 seconds)
22:01:57  * brsonjoined
22:14:55  * felixgequit (Quit: http://www.debuggable.com/)
22:25:37  * AvianFlujoined
22:37:23  <CIA-101>node: Ben Noordhuis v0.6 * r7543c38 / src/node.cc :
22:37:23  <CIA-101>node: Revert "Add explicit v8 locker"
22:37:23  <CIA-101>node: This reverts commit 11d1eca9f3c465045828e3a00b103620c8253258.
22:37:23  <CIA-101>node: It sporadically (but reproducibly) triggers an assert inside V8:
22:37:23  <CIA-101>node: Fatal error in /path/to/node/deps/v8/src/isolate.cc, line 1857
22:37:23  <CIA-101>node: CHECK(CurrentPerIsolateThreadData()->isolate_ == this) failed
22:37:24  <CIA-101>node: Needs further investigation. - http://git.io/I6XKQg
22:39:39  * isaacs_awaychanged nick to isaacs
22:45:12  * travis-cijoined
22:45:12  <travis-ci>[travis-ci] joyent/node#369 (v0.6 - 7543c38 : Ben Noordhuis): The build was fixed.
22:45:12  <travis-ci>[travis-ci] Change view : https://github.com/joyent/node/compare/a2cd31c...7543c38
22:45:12  <travis-ci>[travis-ci] Build details : http://travis-ci.org/joyent/node/builds/631181
22:45:12  * travis-cipart
22:48:43  * dshaw_quit (Ping timeout: 272 seconds)
22:51:46  * lwillejoined
23:03:57  * indexzerojoined
23:05:19  * piscisaureus_joined
23:05:52  <piscisaureus_>mmalecki: TooTallNate: the fact that you link with node.lib doesn't mean that all node symbols are statically linked
23:06:27  <TooTallNate>piscisaureus_: ok i wasn't positive about that part actually
23:06:28  * mraleph1quit (Quit: Leaving.)
23:06:28  <TooTallNate>so thanks
23:06:41  <TooTallNate>piscisaureus_: also, could you look at https://github.com/joyent/node/pull/2685?
23:06:45  * mraleph1joined
23:06:56  <TooTallNate>(before 0.8) at least
23:06:58  * mraleph1quit (Client Quit)
23:07:27  <piscisaureus_>TooTallNate: the node.lib file just contains "stubs". The loader replaces them by imports.
23:09:44  <TooTallNate>piscisaureus_: could you try out node-gyp on windows?
23:10:02  <TooTallNate>the 'build' step still needs work, so you have to run msbuild manually
23:10:13  <TooTallNate>fixing all that next, gotta get some food though
23:10:16  <TooTallNate>so brb
23:10:45  <TooTallNate>piscisaureus_: try the master branch if you're going to, not the one in npm
23:11:01  <piscisaureus_>TooTallNate: re that pull request - I think Debug should be #(Configuration)
23:11:40  <piscisaureus_>TooTallNate: er, $(Configuration)
23:12:20  <piscisaureus_>TooTallNate: the project that gyp generates has both Debug and Release configurations in them. So you can't get the config from gyp.
23:13:02  <piscisaureus_>TooTallNate: but msbuild supports placeholders that expand to build settings, and $(Configuration) expands to Debug or Release (or whatever configs you define)
23:14:48  <piscisaureus_>(actually it adds a trailing slash. so it expands to Release\ or Debug"\)
23:15:17  <TooTallNate>piscisaureus_: ok that sounds good
23:15:37  <TooTallNate>i'm having trouble having the "node_root_dir" expand properly with node-gyp though
23:15:46  <TooTallNate>something is a little strange there
23:17:15  <piscisaureus_>TooTallNate: I am not a gyp expert. If you're having trouble with that you may wanna ask DrPizza
23:18:26  <DrPizza>What are you trying to do?
23:19:20  <piscisaureus_>DrPizza: TooTallNate is trying to do stuff. This -> https://github.com/joyent/node/pull/2685 <- supposedly doesn't work
23:20:44  <DrPizza>Hmm.
23:21:45  <DrPizza>well yes, for a start there should definitely be a variable for Debug/Release
23:22:36  <piscisaureus_>DrPizza: yes, so I think msbuild expands $(Configuration) to that
23:22:40  <DrPizza>yes.
23:23:18  <piscisaureus_>DrPizza: I only hope there is a way to force gyp to put that in and not interpret $(that) itself
23:23:23  <DrPizza>heh
23:23:36  <DrPizza>TooTallNate: the bracketing around node_root_dir is wrong I think
23:23:39  <DrPizza><(> isn't right
23:23:48  <DrPizza>unless there is some gyp feature I am not aware of
23:24:31  <piscisaureus_>DrPizza: ah it should be <(that) ?
23:24:44  <DrPizza>I don't think you need the <
23:24:49  <DrPizza>the < controls inheritance or something iirc
23:25:04  <piscisaureus_>isn't it for late vs early expansion?
23:25:09  <DrPizza>hmm
23:25:17  <DrPizza>you might be right
23:25:18  <piscisaureus_>I'm not sure
23:25:29  <piscisaureus_>I think inheritance was something with %
23:25:35  <DrPizza>oh
23:25:39  <DrPizza>that does sound familiar, yes
23:26:04  <DrPizza>anyway, I think it's angle brackets that can be mismatched
23:26:06  <DrPizza>not round brackets
23:26:50  <piscisaureus_>I think I have seen <(that) before
23:27:13  <piscisaureus_>als <@(foo) and
23:27:16  <piscisaureus_>*also
23:28:08  <piscisaureus_>This remark: TODO(sgk+mark): document settings merging with new = + ? ! / characters
23:28:22  <piscisaureus_>suggest that in fact there are many subtle expansion tweaks possible
23:29:48  * paddybyersquit (Quit: paddybyers)
23:29:58  <DrPizza>yeah
23:30:22  <DrPizza>I remember looking through the gyp source and docs, it was frustratingly bad
23:50:00  * lwillequit (Quit: Leaving...)
23:52:45  * indexzeroquit (Quit: indexzero)
23:57:25  <TooTallNate>ok back
23:58:04  <TooTallNate>DrPizza: so is the syntax wrong?
23:58:16  <DrPizza>I don't know if it's wrong
23:58:19  <DrPizza>but it doesn't look right