00:30:14  * mikealjoined
00:31:35  * mikealquit (Client Quit)
01:08:09  * brsonquit (Quit: leaving)
01:27:31  * ericktjoined
02:20:56  * sh1mmerjoined
02:36:07  * AvianFlujoined
03:20:09  * AvianFlu_joined
03:20:50  * AvianFluquit (Ping timeout: 260 seconds)
03:25:24  * ericktquit (Read error: Connection reset by peer)
03:25:37  * ericktjoined
03:47:30  * sh1mmerquit (Quit: sh1mmer)
05:06:07  * AvianFlu_changed nick to AvianFlu
05:41:01  * sh1mmerjoined
05:59:27  <ryah>piscisaureus: we need to add promises to the roadmap
05:59:32  <ryah>piscisaureus: isaacs is going to work on that
05:59:36  <ryah>(i think)
06:11:07  * luxigojoined
06:35:23  * luxigoquit (Ping timeout: 252 seconds)
06:42:59  * luxigojoined
06:46:31  * mralephjoined
06:46:34  * mralephquit (Client Quit)
06:47:29  * mralephjoined
06:48:18  * indexzerojoined
06:49:22  * indexzeroquit (Client Quit)
06:50:10  * luxigoquit (Remote host closed the connection)
06:52:46  * sh1mmerquit (Read error: Connection timed out)
06:53:03  * sh1mmerjoined
07:00:33  * isaacsjoined
07:29:17  * mikealjoined
07:33:18  * mralephquit (Quit: Leaving.)
07:40:02  * paddybyersjoined
07:45:34  * sh1mmerquit (Read error: Connection timed out)
07:47:11  * sh1mmerjoined
08:12:23  * mikealquit (Quit: Leaving.)
08:15:03  * kuebkjoined
08:16:28  * mikealjoined
08:16:30  * sh1mmerquit (Read error: Connection timed out)
08:17:20  * sh1mmerjoined
08:57:50  * kuebkquit (Read error: Connection reset by peer)
08:58:15  * kuebkjoined
08:58:55  * sh1mmerquit (Read error: Connection timed out)
08:59:20  * sh1mmerjoined
09:11:48  * isaacsquit (Quit: isaacs)
10:31:50  * sh1mmerquit (Quit: sh1mmer)
11:22:28  * bnoordhuisjoined
12:03:40  <paddybyers>bnoordhuis: hi
12:03:48  <bnoordhuis>paddybyers: hey
12:04:11  <paddybyers>I've been thinking about SIGCHLD and wrote some notes here: https://github.com/paddybyers/node/issues/18
12:04:21  <paddybyers>I'd appreciate your thoughts
12:05:07  <bnoordhuis>oh dear
12:05:55  <bnoordhuis>yes, that's something we'll have to face once we add isolates
12:06:52  <paddybyers>you'll see the commit there - it works but there's no way to get exit_status :(
12:09:03  <paddybyers>it's not urgent for me, but if you have any good ideas, pls comment :)
12:10:11  <bnoordhuis>i don't think that pipe trick will always work
12:10:39  <bnoordhuis>setuid programs often go out of their way to close all unexpected fds
12:11:33  <bnoordhuis>hmm, and the pipe fds are marked CLOEXEC so they won't survive the execve() call
12:11:49  <bnoordhuis>are you sure that patch works?
12:12:44  <paddybyers>hmm - let me check
12:13:07  <bnoordhuis>piscisaureus: https://github.com/joyent/node/issues/2102
12:13:19  <paddybyers>I get the event but the test was a short-lived process so maybe I get it when execve() happens
12:13:19  <bnoordhuis>piscisaureus: i suspect the answer is 'no'
12:13:38  <bnoordhuis>paddybyers: i suspect that's the case
12:13:48  <bnoordhuis>i say suspect a lot...
12:20:03  <paddybyers>you're right :(
12:20:46  <paddybyers>now works: https://github.com/paddybyers/node/commit/7ff0613f5c577b45a0e8db9c05e3bb680113c393
12:21:14  <paddybyers>but I take the point also about unexpected fds
12:25:31  <bnoordhuis>left a comment
12:26:49  <bnoordhuis>paddybyers: why is it not possible to install a SIGCHLD handler on android?
12:28:34  <paddybyers>because the process we're in is a dalvik vm process and we're just called as a library
12:29:05  <paddybyers>and dalvik installs its own handler because it has its equivalent Runtime.exec() API
12:29:21  <bnoordhuis>you have a java stub that calls into node?
12:32:23  <paddybyers>yes
12:37:23  <bnoordhuis>let me ponder that SIGCHLD business for a bit
12:41:10  <paddybyers>thanks; not urgent for me but will need to be addressed sometime (at least to handle multiple loops, even if still with SIGCHLD)
13:29:07  * creationixjoined
13:57:49  * ericktquit (Quit: erickt)
14:25:39  <bnoordhuis>https://gist.github.com/1364050 <- vfork() speeds up the spawn benchmark by 15%
14:25:43  * ericktjoined
14:26:09  <bnoordhuis>~415 vs ~480 spawns/s
14:36:26  <paddybyers>didn't v0.4 use vfork() ? why did it change for 0.5?
14:46:24  <bnoordhuis>because it was used unsafely
14:46:38  <bnoordhuis>vfork runs the child in the same address space as the parent
14:46:55  <bnoordhuis>and the child was changing things before execve'ing
14:47:15  <bnoordhuis>iirc that was the reason
14:52:42  * ericktquit (Quit: erickt)
14:58:23  <paddybyers>yes, you're not allowed to call any other function before the exec() but there were lots in v0.4
15:00:02  <bnoordhuis>my quickie vfork patch has the same issue btw
15:01:51  <paddybyers>so it's quicker because it avoids blocking on the signal_pipe? or the vfork itself is quicker?
15:17:05  <bnoordhuis>paddybyers: vfork is quicker - it suspends the parent and it avoids having to set up a full kernel task struct
15:17:26  * ericktjoined
15:17:36  <bnoordhuis>the fact that you have no fork-induced page faults helps too
15:18:07  <bnoordhuis>oh, and no context switches between parent and child obviously
15:18:54  <bnoordhuis>that's why uv_spawn is slightly faster with SPAWN_WAIT_EXEC=1, less context switching
15:21:46  * ericktquit (Client Quit)
16:08:05  * dapjoined
16:16:31  * isaacsjoined
16:23:47  * kuebkpart
16:48:57  <bnoordhuis>piscisaureus: ping
17:21:32  * isaacsquit (Quit: isaacs)
17:40:49  * rmustaccjoined
17:42:11  * sh1mmerjoined
18:05:39  * sh1mmerquit (Read error: Connection timed out)
18:06:13  * sh1mmerjoined
18:15:05  * isaacsjoined
18:27:42  * AvianFluquit (Quit: Leaving)
18:53:39  <ryah>call in 10?
18:54:56  * brsonjoined
19:00:21  <bnoordhuis>ryah: yep
19:00:53  <ryah>igor is away and piscisaureus's computer is broke?
19:01:11  <bnoordhuis>probably to the former, affirmative to the latter
19:23:02  * piscisaureus_joined
19:25:40  * sh1mmerquit (Read error: Connection timed out)
19:26:19  * sh1mmerjoined
19:27:12  * AvianFlujoined
19:28:04  <ryah>okay, dont commit right now - forking off v0.6
19:29:46  <piscisaureus_>Okay I am sort of back
19:31:45  <ryah>okay v0.6 is forked
19:31:55  <ryah>can we land something in there so it's different than master?
19:35:17  <bnoordhuis>i have some mutex wrapper stuff that will be a good first commit
19:36:32  <bnoordhuis>but that should go into master someday too so nm
19:40:33  <ryah>that's fine
19:40:39  <ryah>i'll merge later today
19:42:36  <bnoordhuis>do we want to put mutex and threading stuff in libuv or in node?
19:42:46  <bnoordhuis>probably the latter?
19:46:29  <ryah>yes
19:47:41  <ryah>piscisaureus_: can you sync now about domains?
19:53:43  <ryah>piscisaureus_: did you do a writeup somewhere about building node dlls on windows?
19:59:01  <piscisaureus_>almost
20:08:40  <ryah>piscisaureus_: i have to leave in about 10 minutes
20:08:54  <ryah>i think we should call afterwards
20:09:13  <piscisaureus_>okay
20:09:24  <piscisaureus_>ryah: when are you back?
20:13:49  <ryah>piscisaureus_: 1.5 hours
20:14:18  <piscisaureus_>ryah: ok, I will be ready
20:14:27  <piscisaureus_>then
20:22:19  * kuebk^joined
20:35:10  * piscisaureus__joined
20:38:00  * piscisaureus_quit (Ping timeout: 260 seconds)
21:26:00  <bnoordhuis>piscisaureus: https://github.com/bnoordhuis/libuv/compare/mutexes <- review?
21:26:29  <bnoordhuis>i merged two files - github makes it look like one disappeared but the stuff in threads.c is now in thread.c
21:28:43  <bnoordhuis>https://github.com/bnoordhuis/node/compare/mutexes <- that's what it looks like in node
21:40:02  <piscisaureus__>bnoordhuis: ok, looking at it
21:41:38  * mralephjoined
21:42:16  <piscisaureus__>bnoordhuis: SRW locks are win7 and 2k8-sp2 only
21:42:23  <piscisaureus__>bnoordhuis: you should provide a fallback
21:42:41  <bnoordhuis>piscisaureus__: like what?
21:44:01  <piscisaureus__>bnoordhuis: I don't know, maybe take a look at pthreads-w32
21:44:14  * bnoordhuissighs
21:50:14  * mikealquit (Quit: Leaving.)
21:53:29  <ryah>piscisaureus__: back
21:53:45  <ryah>piscisaureus__: estas listo?
21:53:59  <piscisaureus__>ryah: yo
21:54:13  <ryah>(wie mann sagt auf spanish)
21:54:35  <piscisaureus__>I don't know what it means ...
21:54:44  <ryah>piscisaureus__: are you ready?
21:54:56  <piscisaureus__>bnoordhuis: most of the SRW stuff is avail in 2k8 and vista as well
21:55:16  <piscisaureus__>bnoordhuis: so I think you can just make an inefficient fallback using critical sections for xp
21:55:33  <bnoordhuis>piscisaureus__: okay, i'll see what i can do
22:09:51  <bnoordhuis>fwiw, pthreads-w32 uses two mutexes and a condition to implement pthread_rwlock_*
22:20:05  <ryah>https://github.com/joyent/node/blob/master/src/req_wrap.h
22:20:40  <ryah>https://github.com/joyent/node/blob/master/src/handle_wrap.h
22:21:09  <ryah>https://github.com/joyent/node/blob/master/src/timer_wrap.cc
22:23:24  * brsonquit (Ping timeout: 240 seconds)
22:24:27  <ryah>piscisaureus__: https://gist.github.com/1365394
22:30:51  <piscisaureus__>ryah: I am also to the bathroom
22:30:52  <piscisaureus__>I''ll be back in 3
22:47:24  * bnoordhuisquit (Ping timeout: 240 seconds)
22:56:01  <ryah>piscisaureus__: https://github.com/joyent/node/blob/5c3954aa6fb2e0b23a7bcfec6fc4636d5d152333/src/node.js#L205-208
22:56:23  <ryah>https://github.com/joyent/node/blob/5c3954aa6fb2e0b23a7bcfec6fc4636d5d152333/src/node.cc#L1929
22:56:38  <ryah>https://github.com/joyent/node/blob/5c3954aa6fb2e0b23a7bcfec6fc4636d5d152333/src/node.cc#L258-271
23:13:26  * paddybyersquit (Quit: paddybyers)
23:14:14  <ryah>piscisaureus__:
23:14:15  <ryah>https://github.com/joyent/node/blob/3222a04d5e8d1fef90ac6247c6febeebe02cf659/src/node.cc#L864
23:14:25  * paddybyersjoined
23:22:03  * kuebk^quit
23:25:59  <ryah>http://arlolra.no.de/bench/ab-hello-world-buffer-1024
23:27:29  <ryah>https://github.com/joyent/node/commit/098fef674038dcc42ae991205fdc6e5d649c2b6a <-- this seems to have had a bad effect on perf
23:28:12  <piscisaureus__>https://github.com/joyent/node/compare/9c11e8a1ca...8974ba31a3
23:42:09  <ryah>i really hate how "gq" in vim adds two spaces after periods
23:44:32  <rmustacc>It doesn't always do that. It seems to be when there's a trailing space and it joins the newline.
23:46:47  <ryah>yeah
23:48:14  * brsonjoined
23:52:10  * paddybyersquit (Quit: paddybyers)
23:52:56  * AvianFlu_joined
23:54:34  * piscisaureus__quit (Quit: ~ Trillian Astra - www.trillian.im ~)
23:54:39  * AvianFluquit (Ping timeout: 244 seconds)
23:55:26  * AvianFlu_changed nick to AvianFlu
23:57:34  * piscisaureus_joined
23:58:34  * sh1mmerquit (Quit: sh1mmer)