00:01:48  <ryah>yo
00:02:00  <isaacs_away>hey
00:02:02  <isaacs_away>how's baton rouge
00:02:05  <isaacs_away>?
00:02:05  <CIA-53>libuv: Frank DENIS * r4ab1990 / (5 files in 4 dirs): unix: add support for OpenBSD - http://git.io/1lpOSw
00:02:08  <ryah>warm
00:02:14  <isaacs_away>so's berkeley
00:03:27  <bnoordhuis>^ that's the pureftpd guy
00:03:40  <bnoordhuis>frank denis, that is, not isaac
00:08:48  * ryahdoesn't know pureftpd
00:10:01  <piscisaureus_>But why does he write is last name in all caps?
00:12:17  * dap1joined
00:14:43  * dapquit (Ping timeout: 260 seconds)
00:21:42  <ryah>piscisaureus_: -1, 0, 1, 2 logic is magic at the binding layer
00:22:20  <piscisaureus_>ryah but what about "You can however use the stdinStream, stdoutStream, and stderrStream options to achieve similar functionality"
00:22:26  <piscisaureus_>that is either wrong or new to me :-)
00:22:27  * dap1quit (Quit: Leaving.)
00:22:56  <piscisaureus_>I would just say that people pipe their goo to process.stin
00:23:59  <ryah>std*Stream should work
00:24:03  * AvianFluquit (Ping timeout: 252 seconds)
00:24:34  <Marak>sorry if its off-topic, do you guys have any opinions on http://en.wikipedia.org/wiki/Gearman ? one of the hook.io guys is integrating it into his fork, says its awesome
00:24:37  <ryah>you just need to give a PipeWrap
00:24:54  <ryah>Marak: heavy
00:25:28  <Marak>ryah: worth the trouble? or better to re-implement it's core logic?
00:26:28  <ryah>Marak: it's certainly less trouble to script this sort of stuff in js than integrate with it - i think
00:26:41  <Marak>word, thanks, will look into it
00:27:20  <piscisaureus_>ryah: where would you obtain a pipeWrap?
00:27:30  <piscisaureus_>this api is still kind of meh to me
00:27:49  <piscisaureus_>a strong feeling of meh
00:27:51  <ryah>piscisaureus_: process.binding('pipe_wrap').Pipe
00:28:08  <piscisaureus_>yeah okay so this api is not for public consumption?
00:28:13  <ryah>no
00:28:17  <ryah>er - correct
00:28:34  <ryah>but we can tell teh public to use it when we're feeling lazy
00:28:47  <piscisaureus_>People should just pump
00:28:56  <ryah>and then chastise them later on
00:29:00  <piscisaureus_>heh
00:29:08  <piscisaureus_>we could also deprecate this customFds think
00:29:11  <piscisaureus_>*thing
00:29:27  <ryah>yeah
00:29:33  <piscisaureus_>and tell people to set options.inheritStdin = true or something
00:29:45  <ryah>that'd work
00:29:46  <piscisaureus_>for the tty case
00:30:04  <piscisaureus_>people should pump in any other case
00:30:07  <piscisaureus_>er, pipe
00:30:13  * piscisaureus_is one of the old guys
00:31:28  <piscisaureus_>btw std*Stream is not the right name - should be std*Handle or std*Wrap
00:34:17  * isaacsjoined
00:34:17  * isaacs_awayquit (Read error: Connection reset by peer)
00:35:26  <ryah>piscisaureus_: i approve these changes you suggest.
00:35:41  <piscisaureus_>okay.
00:35:48  <piscisaureus_>enjoy your holiday :-)
00:36:24  * AvianFlujoined
00:41:50  <ryah>let's upgrade V8 now - they just jumped to 3.7
00:42:18  <ryah>objections?
00:42:26  <piscisaureus_>Not here
00:44:07  * isaacsquit (Read error: Connection reset by peer)
00:44:16  * isaacsjoined
00:45:21  <piscisaureus_>did they land the incremental gc?
00:45:39  <ryah>yeah
00:45:55  <bnoordhuis>colour me curious
00:46:02  <bnoordhuis>have you benchmarked it yet?
00:46:03  <piscisaureus_>I hope it's stable and fast enough so we can use it for 0.6
00:46:40  <ryah>there may be some issues with the windows build - at least that was the case with 3.6.6...
00:46:59  <ryah>they might have fixed that already .. there's a commit about it
00:47:11  <piscisaureus_>ryah: you should not work on vacation
00:47:12  <piscisaureus_>https://github.com/joyent/node/issues/1884
00:47:41  <bnoordhuis>you're on a holiday?
00:47:52  <bnoordhuis>get away from the keyboard, mr. dahl
00:48:34  <ryah>my friend's phd defence is tomorrow and he's preparing
00:48:59  <bnoordhuis>what's the topic?
00:49:04  <bnoordhuis>subject
00:49:19  <ryah>physics
00:50:20  <bnoordhuis>all of physics?
00:51:25  <igorzi>piscisaureus_: https://github.com/joyent/node/issues/1697 can be closed? it's libuv issue now - https://github.com/joyent/libuv/issues/188
00:51:44  <piscisaureus_>Yep
00:52:12  <piscisaureus_>let me look up the commit
00:52:15  <igorzi>can you (or someone else) close it?
00:53:03  <ryah>bnoordhuis: graviational waves
00:53:33  <bnoordhuis>ryah: sounds interesting - what in particular has he studied?
00:53:38  <CIA-53>node: Ryan Dahl * r33b5f2f / (306 files in 24 dirs): Upgrade V8 to 3.7.0 - http://git.io/NiEvkQ
00:54:25  <ryah>bnoordhuis: he works on a machine/project called LIGO - he designed some peice of it. I'm not sure exactly
00:54:38  * bnoordhuisgoogles
00:55:24  <bnoordhuis>right, i read something about that a while ago
00:57:04  <bnoordhuis>sometimes i regret not having majored in something hard science-ish, like physics or math
00:57:19  <ryah>bnoordhuis: what did you study
00:57:23  <bnoordhuis>but i probably wouldn't be the rich playboy i am today if i had
00:57:28  <bnoordhuis>just boring old CS
00:57:52  <piscisaureus_>you didn't study, you went to school :-p
00:57:57  <ryah>well i studied math and i regret not having studied CS :)
00:58:20  <bnoordhuis>heh
00:58:26  <bnoordhuis>well, you didn't miss out on much
00:58:34  <bnoordhuis>building robots was cool
00:58:49  <bnoordhuis>chip design less so
00:59:05  <piscisaureus_>I'd really like that I think
00:59:12  <ryah>chip design is what i want
00:59:33  <ryah>im full the vhdl fanboy these days
00:59:41  <bnoordhuis>just wait until you have to read the primer
00:59:59  <bnoordhuis>i still have it on the shelf, i'll borrow it to you if you want
01:00:11  <bnoordhuis>it weighs about 4 kg
01:01:03  <bnoordhuis>s/borrow/lend/
01:02:01  <igorzi>piscisaureus_: what are you studying now?
01:02:30  <piscisaureus_>igorzi: systems engineering and policy analysis
01:02:57  <piscisaureus_>aka "technical public policy" here but that's inaccurate
01:03:27  <igorzi>sounds interesting
01:03:56  <piscisaureus_>it is - sometimes
01:04:09  <piscisaureus_>but I want to get out of there :-)
01:05:09  <bnoordhuis>this taxpayer concurs
01:09:34  <bnoordhuis>EIEIO -> "Computer bought the farm"
01:09:40  <bnoordhuis>those glibc guys...
01:10:18  <bnoordhuis>that's an error number btw
01:11:00  <bnoordhuis>EGREGIOUS ("You really blew it this time") is an interesting one as well
01:13:00  * AvianFluquit (Ping timeout: 255 seconds)
01:19:29  * AvianFlujoined
01:21:08  * isaacsquit (Quit: isaacs)
01:35:34  * isaacsjoined
01:36:23  * ericktquit (Quit: erickt)
01:37:04  * brsonquit (Quit: leaving)
01:40:32  * isaacsquit (Quit: isaacs)
01:41:46  * isaacsjoined
01:42:21  * isaacsquit (Client Quit)
01:43:37  * piscisaureus_quit (Read error: Connection reset by peer)
01:44:16  * bnoordhuisis off to bed
01:44:21  * bnoordhuisquit (Quit: Leaving)
01:48:54  * piscisaureusjoined
02:07:43  * piscisaureusquit (Ping timeout: 248 seconds)
02:13:22  * AvianFluquit (Quit: Leaving)
02:52:40  * igorziquit (*.net *.split)
03:32:12  * ericktjoined
04:59:06  * ericktquit (Quit: erickt)
05:37:10  * AvianFlujoined
06:32:12  * mralephjoined
07:03:57  * AvianFluquit (Ping timeout: 260 seconds)
07:05:43  * AvianFlujoined
07:45:09  * mralephquit (Ping timeout: 252 seconds)
07:57:42  * Casanjoined
08:11:45  * AvianFluquit (Ping timeout: 260 seconds)
09:26:39  * mikealquit (Ping timeout: 248 seconds)
09:34:53  * kuebkjoined
10:09:14  * Casanquit (Ping timeout: 256 seconds)
10:40:57  * Casanjoined
11:06:33  * kuebkquit (Read error: Connection reset by peer)
11:07:15  * kuebkjoined
12:29:11  * piscisaureusjoined
12:34:03  * piscisaureus_joined
12:37:08  * piscisaureusquit (Ping timeout: 256 seconds)
13:19:16  * bnoordhuisjoined
14:20:42  <pquerna>http://redmine.lighttpd.net/issues/2197
14:21:47  <piscisaureus_>bnoordhuis: I do not understand what openpty does. Can you explain to me in ordinary people's language
14:21:49  <piscisaureus_>?
14:21:59  <bnoordhuis>piscisaureus_: it creates a pseudo-terminal
14:22:12  <piscisaureus_>bnoordhuis: yes, I got that far with google :-)
14:22:19  <piscisaureus_>bnoordhuis: but what is a pseudo-terminal?
14:22:59  <bnoordhuis>piscisaureus_: something that looks like a real terminal - with a window size, etc. - but isn't
14:23:14  <piscisaureus_>bnoordhuis: hmm
14:23:29  <bnoordhuis>piscisaureus_: when you open a gnome terminal, what you're interacting with is a pty
14:24:09  <piscisaureus_>bnoordhuis: hmm ok - so what makes it different from just spawning bash and rendering it's stdout?
14:25:21  <bnoordhuis>piscisaureus_: if by spawning you mean forking and talking over a pipe, a pipe is non-interactive
14:25:58  <piscisaureus_>hmm
14:26:01  <piscisaureus_>ok thnx
14:27:50  <bnoordhuis>piscisaureus_: lest i forget, an important difference is that a pipe doesn't generate e.g. window resize events (SIGWINCH), a pty does
14:28:19  <bnoordhuis>i suppose you could view a pty as a bidirectional pipe with side channels
14:30:09  <bnoordhuis>pquerna: is that lighty bug report applicable to node / libuv?
14:33:00  <pquerna>no, just shows.. the dangers of dealing with opnessl and eventd systems, you never know when openssl has data 'in flight'
14:33:40  <pquerna>related: apache httpd has this same issue with the event mpm, but its just impossible to fix without rewriting the entire input filters api
14:33:59  <bnoordhuis>hmm... that's a pretty serious shortcoming
14:35:43  <pquerna>it doesn't effect node becuse of how the tls stream is completely decoupled form the socket
14:36:24  <pquerna>and because we try to pull/push on all ends of the bio everytime
14:48:38  * ericktjoined
15:06:57  <CIA-53>node: Ben Noordhuis * re0297ca / src/node.cc : node: fix use of potentially uninitialized variable (+5 more commits...) - http://git.io/dUiM0w
15:18:54  <CIA-53>node: koichik * ra09b747 / (lib/child_process.js test/simple/test-child-process-fork.js):
15:18:54  <CIA-53>node: child_process.fork: don't modify args
15:18:54  <CIA-53>node: Fixes #1888. - http://git.io/peMrtQ
15:25:40  <bnoordhuis>https://github.com/joyent/libuv/pull/208#issuecomment-2259895 <- we should discuss that some time
15:26:32  <indutny>hehe
15:26:39  <indutny>bnoordhuis: we should finish that sometime
15:26:44  <bnoordhuis>that too
15:27:02  <indutny>but looks like it's working now, isn't it?
15:27:09  <indutny>what should I do about static vars?
15:27:20  <rmustacc>You guys should just use a library handle that it's based off of.
15:27:31  <indutny>how to lookup process title in osx?
15:27:39  <indutny>setting it looks like a big hack, btw
15:27:54  <rmustacc>And you'll want to probably introduce some locking somewhere to ensure that it's serialized.
15:27:59  <bnoordhuis>yes
15:29:42  <indutny>freebsd/netbsd/sunos are also using static title
15:30:03  <indutny>so, actually, only windows and linux versions of get_title implemented correctly
15:31:07  * dwwwjoined
15:31:22  <dwww>Hi!
15:31:31  <bnoordhuis>hey
15:31:56  <dwww>How do I disable Nagle for a UV_TCP handle?
15:32:12  <piscisaureus_>we have to add that still -
15:32:17  <bnoordhuis>indutny: it should be easy to fix, just wrap all accesses to process_title in a pthread_mutex_lock/pthread_mutex_lock block
15:32:17  <piscisaureus_>patches welcome :-)
15:32:21  <dwww>Please, consider
15:32:33  <bnoordhuis>*pthread_mutex_lock/pthread_mutex_unlock
15:32:35  <indutny>bnoordhuis: ok
15:32:40  <indutny>bnoordhuis: I'll do this today
15:32:50  <piscisaureus_>yes, we will add that, we need it for node's socket.setNoDelay() anyway
15:33:30  <dwww>great. tia
15:34:21  <bnoordhuis>indutny: cool
15:45:52  * kuebkquit (Quit: HydraIRC -> http://www.hydrairc.com <- In tests, 0x09 out of 0x0A l33t h4x0rz prefer it :))
15:47:50  * dapjoined
15:47:52  <dwww>in the meantime, how could i flush the buffer after each write, to mimick nodelay behavior?
15:55:20  <bnoordhuis>dwww: you can't right now
15:55:28  <dwww>ah
15:55:29  <dwww>i see
15:56:45  * ericktquit (Quit: erickt)
15:57:29  <bnoordhuis>http://stackoverflow.com/questions/599365/what-is-your-favorite-c-programming-trick <- love how simple c really is
15:57:31  <indutny>bnoordhuis: should I wrap get_title with mutex too?
15:57:37  <indutny>bnoordhuis: ^ +1
15:57:44  <indutny>I mean c tricks
15:58:05  <bnoordhuis>indutny: yes, all accesses
15:58:22  <indutny>ok, I'll do patch and if I'm wrong you'll correct me, ok?
15:58:28  <bnoordhuis>sure
15:59:36  <indutny>hm... do we really need it on reads?
15:59:40  <indutny>it looks really strange
15:59:56  <indutny>locking mutex, copying static var's ptr, unlocking and returning it
15:59:59  <indutny>do we need that?
16:00:21  <indutny>probably we need locking only on set_title?
16:01:22  <indutny>bnoordhuis: ^
16:01:23  <bnoordhuis>no, both
16:01:37  <bnoordhuis>what if you read the pointer in get_title just while set_title is updating?
16:01:52  <bnoordhuis>the correct answer is "i don't know"
16:01:54  <indutny>hm..
16:01:55  <indutny>ah
16:01:56  <indutny>right
16:01:58  <bnoordhuis>because it's undefined behaviour
16:02:03  <indutny>but how will I return it?
16:02:10  <indutny>before releasing lock
16:02:35  <indutny>hm...
16:02:37  <indutny>ah
16:02:42  <indutny>I can just strdup it
16:02:52  <bnoordhuis>yes, but then the caller needs to free it
16:03:17  <indutny>ok
16:03:17  <bnoordhuis>we should probably update the API and have the caller pass in a buffer
16:03:26  <indutny>ok
16:17:34  * piscisaureus_quit (Ping timeout: 256 seconds)
16:23:30  <CIA-53>node: koichik * r19a8553 / (6 files in 4 dirs):
16:23:30  <CIA-53>node: tls: requestCert unusable with Firefox and Chrome
16:23:30  <CIA-53>node: Fixes #1516. - http://git.io/oWKR9g
16:23:55  * isaacsjoined
16:30:20  * creationix|workjoined
16:30:46  * creationix|workchanged nick to creationix
16:37:45  <indutny>bnoordhuis: https://github.com/joyent/libuv/pull/208
16:37:52  <indutny>^ can you please review this
16:37:56  <indutny>works fine on linux
16:37:58  <bnoordhuis>i can, i will
16:38:01  <indutny>can't verify on other os
16:38:08  <indutny>updated kernel to 3.0.x
16:38:22  <indutny>and vmware isn't able to compile it's kernel's extensions :(
16:38:54  <indutny>is that ok - void uv_get_process_title(char** title); ?
16:40:48  <bnoordhuis>indutny: that's not safe
16:40:59  <bnoordhuis>get_title does -> *title = process_title;
16:41:04  <indutny>right
16:41:10  <bnoordhuis>so the caller now has a pointer to a malloc'd buffer
16:41:15  <indutny>right
16:41:23  <bnoordhuis>if another thread calls set_title at the same time, that buffer will cease to exist
16:41:25  <bnoordhuis>bam, you're dead
16:41:31  <indutny>heh
16:41:36  <indutny>strdup?
16:41:37  <indutny>:)
16:41:52  <indutny>can you please give me a hint? ;)
16:41:55  <bnoordhuis>i would suggest void uv_get_process_title(char *buffer, size_t size)
16:42:19  <indutny>so buffer is already initialized by caller
16:42:19  <bnoordhuis>or rather, size_t uv_get_process_title(char *buffer, size_t size)
16:42:20  <indutny>right?
16:42:22  <bnoordhuis>yes
16:42:36  <indutny>first one looks better
16:42:37  <bnoordhuis>and return the number of bytes written, include the nul byte
16:42:43  <indutny>because code will be simplier
16:42:44  <indutny>:)
16:42:52  <indutny>ok, I'll do second one
16:43:04  <indutny>meanwhile, am I using locks correctly?
16:43:33  <bnoordhuis>indutny: at a glance, yes
16:43:37  <indutny>ok
16:44:27  <bnoordhuis>indutny: another thing, i submitted some code to platform_linux.cc in node that allows for long process names on linux, feel free to steal it
16:44:33  <bnoordhuis>s/submitted/committed/
16:44:36  <indutny>ah
16:44:36  <indutny>ok
16:44:48  <indutny>are you hijacking pointers?
16:44:55  <bnoordhuis>yes :/
16:44:55  <rmustacc>It seems alright, but I'll argue you want handle specific variables so you can allow multiple instances of your library to co-exist.
16:45:29  <bnoordhuis>rmustacc: when/where would you have multiple instances?
16:45:51  <rmustacc>Well, I haven't looked over the multiple-event loop support, but there's a pretty obvious case.
16:46:06  <rmustacc>Well, just most libraries I've used are designed in that matter.
16:46:07  <bnoordhuis>indutny: belay that, that code in platform_linux.cc requires access to argv first, that won't work in libuv
16:46:07  <indutny>bnoordhuis: is memcpy ok for get_process_title?
16:46:21  <bnoordhuis>indutny: if done safely, sure
16:46:54  <rmustacc>You may also want to look at strncpy / strlcpy
16:46:54  <bnoordhuis>rmustacc: the [gs]et_title stuff is independent from any event loop
16:47:06  <bnoordhuis>because, well, a process only has one process title
16:47:19  <bnoordhuis>indutny: right, we have a uv__strlcpy function
16:47:26  <indutny>^ok
16:48:34  <indutny>so size may be the size of target buffer
16:48:41  <indutny>as I see strlcpy checks for src end
16:51:05  <bnoordhuis>yes, and always zero terminates
16:51:17  <rmustacc>bnoordhuis: Yup, it's just general library design. It's probably fine in this case.
16:52:24  <rmustacc>Just generally you don't want static variables, as you have no clue as to how a library might be included or used. But then again libuv isn't meant to be as general purpose.
17:10:09  <indutny>bnoordhuis: so... I seen your linux process title hack
17:10:22  <indutny>and don't know how to fit into one function w/o initialization
17:10:42  <bnoordhuis>indutny: <bnoordhuis> indutny: belay that, that code in platform_linux.cc requires access to argv first, that won't work in libuv
17:10:53  <indutny>yep, I think so too
17:11:13  <indutny>bnoordhuis: https://github.com/joyent/libuv/pull/208
17:11:16  <indutny>updated signature
17:11:59  <indutny>bnoordhuis: btw, what about: https://github.com/joyent/libuv/pull/203 ?
17:12:12  <bnoordhuis>one thing at a time
17:12:42  <indutny>k
17:13:29  <indutny>oooops
17:13:42  <indutny>that's everywhere
17:15:04  <bnoordhuis>yep
17:15:24  <bnoordhuis>but you know, change the return value to void
17:15:34  <bnoordhuis>the buffer is nul terminated anyway so it's no big deal
17:15:59  <indutny>I'll just return anything uv__strlcpy returns
17:16:10  <indutny>that should be simple and good enough
17:16:17  <bnoordhuis>yeah, that's fine too
17:17:03  <indutny>bnoordhuis: fixed
17:17:18  <indutny>oh, one second
17:17:58  <indutny>ok, added missing semicolon in freebsd.c
17:18:03  <indutny>should be fine now
17:22:17  <indutny>bnoordhuis: fixed
17:22:52  <bnoordhuis>indutny: cool
17:23:00  <bnoordhuis>it doesn't apply to the current master btw
17:23:20  <indutny>ok, I'll rebase
17:23:26  <bnoordhuis>with a little -C0 nudging it does but that corrupts (at least) uv.gyp
17:23:48  <indutny>http://habrahabr.ru/blogs/hosting/130437 - russian cloud hosting that has disabled server creation for it's clients :D
17:23:49  <indutny>lol
17:24:27  * brsonjoined
17:25:21  <bnoordhuis>my cyrillic isn't what it used to be, i'm afraid
17:26:51  <bnoordhuis>god, getting/setting the process name on darwin sucks balls...
17:29:52  * AvianFlujoined
17:32:36  <indutny>hehe
17:32:43  <indutny>merged
17:36:29  <bnoordhuis>okay, off to dinner - back in a bit
17:37:17  * mralephjoined
17:37:26  <indutny>cool
17:37:29  <indutny>fixed linux check
17:37:35  <indutny>searching for sunos solution
17:40:20  * isaacsquit (Quit: isaacs)
17:40:25  <indutny>bnoordhuis: http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/ssh/include/setproctitle.h
17:40:31  <indutny>once you're back
17:40:46  <indutny>seems that solaris doesn't support it at all
17:40:52  <indutny>still searching , anyway
17:41:31  <indutny>or not: http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/ssh/libopenbsd-compat/common/setproctitle.c
17:42:00  <indutny>looks like it depends on HAVE_SETPROCTITLE
17:42:48  <indutny>brb
17:43:18  <rmustacc>indutny: It's sitting in my 147 based stuff.
17:45:41  <rmustacc>It depends on not having that defined, which is the cas.e
17:52:25  <indutny>hm....
17:52:33  <indutny>rmustacc: any suggestions in that case?
17:56:45  <rmustacc>Just use what they do.
17:56:47  <indutny>looks like pstat(SET_CMD, ...)
17:56:56  <indutny>PSTAT_SETCMD
17:56:57  <rmustacc>Um, no.
17:57:04  <indutny>why not?
17:57:04  <rmustacc>That's for HP-UX
17:57:08  <indutny>hm....
17:57:28  <rmustacc>Read the block comment. ;)
17:57:43  <rmustacc>They're just snprintf-ing over __progname.
17:57:47  <rmustacc>Which is defined in libc.
17:58:15  <indutny>ah, I see now
17:58:17  <indutny>well...
17:58:33  <rmustacc>http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/gen/err.c
17:58:47  <rmustacc>Though really, opensolaris is dead. You should look at src.illumos.org.
17:58:56  <indutny>setprogname ?
17:59:09  <rmustacc>But I have meetings, sorry.
17:59:49  <indutny>np, thank you
18:08:37  * casper_joined
18:10:40  * ericktjoined
18:11:20  * creationixquit (Remote host closed the connection)
18:11:48  * creationix|workjoined
18:11:56  * creationix|workchanged nick to creationix
18:12:35  * Casanquit (Ping timeout: 256 seconds)
18:15:53  * ericktquit (Quit: erickt)
18:19:09  * isaacsjoined
18:19:49  * ericktjoined
18:28:04  <creationix>Does a tcp stream not emit end if there is no data?
18:28:10  <creationix>(this is for an http request)
18:28:22  <creationix>err, I mean, no data beyond the http request headers
18:29:43  <indutny>creationix: it should
18:30:09  <creationix>what does an end event mean exactly?
18:30:20  <creationix>http isn't full-duplex, it's one way at a time
18:30:33  <creationix>so do http clients close their half before the response starts?
18:30:40  <creationix>would that emit an end or something else?
18:31:48  <indutny>creationix: I think this is just end of 'body'
18:31:49  <indutny>:)
18:32:02  <indutny>hm...
18:32:31  <indutny>let me take a look
18:37:51  <creationix>well, I think I fixed for my use. I just emit my http level end when http_parser emits message_complete
18:38:05  <creationix>but it's still strange the underlying tcp socket never emits end
18:38:39  <creationix>lubiv doesn't do keepalive does it?
18:39:03  <indutny>creationix: looks like 'end' is emited on EOF
18:39:26  <creationix>yeah, so I guess that's just the client never sending EOF
18:39:31  <indutny>right
18:39:34  <creationix>fair enough
18:40:04  * AvianFluquit (Quit: Leaving)
18:40:05  <indutny>or it can be emitted if client provided content-length field
18:40:13  <indutny>I suppose
18:40:27  <creationix>right, which the http_parser library handles for me
18:40:28  <indutny>yeah, looks like so
18:40:45  <indutny>so if client isn't sending nor EOF, nor Content-Length
18:40:50  <indutny>end won't be emitted
18:41:21  <indutny>s/nor/neither
18:42:33  <erickt>Anyone know if there's an example of running uv on one thread and communicating to it with another? there's a nice example in the libev docs, does that stand for uv as well?
18:43:30  * AvianFlujoined
18:43:50  <indutny>erickt: I think it does
18:44:20  <indutny>there shouldn't be any differences in invokation, I guess
18:46:55  <erickt>Thanks. I think we're running into some races in rust, where we have uv running in one IO thread, and then coroutines in N other threads trying to add watchers to it, so I think we need some locks or something
18:47:49  <indutny>hm....
18:48:30  <indutny>erickt: looks like I was wrong
18:48:47  <indutny>sorry
18:49:02  <erickt>s'ok :)
18:52:30  <erickt>indutny: What problem did you find?
18:52:48  <indutny>no problem, just I'm not very deep in libuv :)
18:52:50  <indutny>actually
18:56:37  <indutny>brb
19:01:29  * casper_quit (Quit: Leaving)
19:02:01  * AvianFluquit (Ping timeout: 252 seconds)
19:05:14  <creationix>erickt: I plan on trying something like that with luvit, but I haven't yet
19:05:18  <creationix>so far I'm still single threaded
19:14:07  * AvianFlujoined
20:19:54  * igorzijoined
20:44:14  * AvianFluquit (Quit: Leaving)
20:57:29  * creationixpart
21:08:39  * Casanjoined
21:09:40  * Casanquit (Client Quit)
21:15:40  * mralephquit (Quit: Leaving.)
21:47:54  <igorzi>isaacs: i got npm installed, and working.. very nice!
21:48:05  <isaacs>igorzi: horray!
21:48:13  <isaacs>igorzi: seems to be some issues on xp, still, though
21:48:14  <isaacs>:(
21:48:27  <igorzi>isaacs: i installed several modules, and it worked.. however it just chocked on installing jade - "npm install jade"
21:48:44  <isaacs>that's odd. jade isn't even all that big, i though
21:48:46  <isaacs>*thought
21:48:59  <igorzi>npm ERR! couldn't unpack C:\Users\igorzi\AppData\Local\Temp\npm-1318628806954\1318628806955-0.2067807544954121\tmp.tgz to C:\Users\igorzi\AppData\Local\Temp\npm-1318628806954\1318628806955-0.2067807544954121\contents
21:49:03  <igorzi>npm ERR! Error: UNKNOWN, The operation completed successfully.npm ERR! 'C:/Users/igorzi/AppData/Local/Temp/npm-1318628806954/1318628806955-0.2067807544954121/contents/___package.npm/package'
21:49:08  <isaacs>ha! that's the error.
21:49:18  <isaacs>there may be something useful in the npm-debug.log file
21:49:21  <isaacs>or not.
21:49:25  <isaacs>it's very mysterious, that one
21:50:17  <isaacs>ahhh, ok
21:50:18  <isaacs>npm ERR! Unsupported
21:50:18  <isaacs>npm ERR! Not compatible with your version of node/npm: [email protected]
21:50:18  <isaacs>npm ERR! Required: {"node":"0.4.x"}
21:50:18  <isaacs>npm ERR! Actual: {"npm":"1.0.97","node":"0.5.9"}
21:50:22  <isaacs>igorzi: ^
21:50:35  <isaacs>but if you're getting an unpacking error, then that's odd.
21:50:49  <igorzi>hmm
21:51:24  <igorzi>i'm trying this with 5.9, do i need node master?
21:53:02  <rmustacc>It looks like that package is explicitly saying that you need 0.4 and it doesn't support 0.5?
21:55:38  <igorzi>rmustacc: right, but i'm not getting that error
21:59:16  <igorzi>isaacs: i'm getting the same with expresso (npm install expresso)
21:59:42  <isaacs>igorzi: yeah, something funny is going on
22:00:06  <isaacs>igorzi: that bsdtar.exe isn't really very windows-friendly.
22:00:24  <isaacs>igorzi: i'm detecting symlink failure codes and ignoring them, but there may be other things it tries and fails.
22:01:00  <igorzi>isaacs: have you tried tar.exe that comes with git? (or is it the same thing?)
22:02:33  <isaacs>igorzi: that's the same thing.
22:02:37  <isaacs>igorzi: msysutils bsdtar
22:02:51  <isaacs>igorzi: you can point the tar config to whatever you like though.
22:04:52  <CIA-53>libuv: Ben Noordhuis * r1e0d25a / uv.gyp : build: fix gyp script, broken in 4ab1990 - http://git.io/ZU1aBQ
22:39:38  <CIA-53>libuv: Igor Zinkovsky * r456f831 / src/win/pipe.c : windows: ensure that the ipc frame header is properly initialized - http://git.io/E8lZ9w
22:40:29  <igorzi>bnoordhuis: can you pls update libuv in node? (^--- this fixed a bunch of tests on windows)
22:40:43  <bnoordhuis>igorzi: sure, 1 sec
22:42:37  <CIA-53>node: Ben Noordhuis * r3108a9e / (11 files in 6 dirs): uv: upgrade to 456f831 - http://git.io/l9HpbA
22:42:42  <bnoordhuis>igorzi: ^
22:43:08  <igorzi>bnoordhuis: thx
22:52:42  <bnoordhuis>we should replace all the .addListener calls in test/ with .on some time
22:53:07  <bnoordhuis>isaacs ryah: ^
22:53:19  <isaacs>bnoordhuis: ++
22:54:00  <bnoordhuis>hmm... shall i just do it? it's a perl one-liner
22:56:55  <isaacs>bnoordhuis: sure, i'm for it.
22:56:59  <isaacs>addListener is crapola.
22:57:14  * bnoordhuisruns `make test-all` just in case
22:57:40  <isaacs>maybe add a test somewhere that EventEmitter.prototype.on === EventEmitter.prototype.addListener
22:57:41  <isaacs>:)
22:57:44  <isaacs>just in case :)
23:00:18  <bnoordhuis>yeah, that won't hurt i suppose
23:00:26  <bnoordhuis>in the mean time: https://github.com/bnoordhuis/node/commit/3ac4ff6
23:03:15  <bnoordhuis>https://github.com/bnoordhuis/node/commit/b41e63a
23:03:21  <bnoordhuis>isaacs: review?
23:05:10  <isaacs>bnoordhuis: what's with fixtures/a1.js?
23:05:20  <bnoordhuis>yeah, i just noticed
23:05:42  <isaacs>ah, yeah, you resolved the symlink.
23:10:15  <bnoordhuis>isaacs: https://github.com/bnoordhuis/node/compare/3108a9e...b6a869e <- take #2
23:11:30  <isaacs>bnoordhuis: added another comment on https://github.com/joyent/node/pull/1891, also
23:12:21  <bnoordhuis>isaacs: looks good
23:13:18  <isaacs>bnoordhuis: can't find anything wrong.
23:13:26  <isaacs>lgtm
23:13:34  <bnoordhuis>okay, here goes
23:14:01  <CIA-53>node: Ben Noordhuis * r018e110 / (126 files in 5 dirs): test: replace .addListener() calls with .on() - http://git.io/81V-XQ
23:14:01  <CIA-53>node: Ben Noordhuis * rb6a869e / test/simple/test-event-emitter-add-listeners.js : test: check that EventEmitter.on == EventEmitter.addListener - http://git.io/dKR7IA
23:15:26  <isaacs>oh, you won the race
23:15:34  <CIA-53>node: isaacs * re6f1471 / doc/api/zlib.markdown : doc: Add examples of zlib usage with http - http://git.io/6KUcuQ
23:15:49  <isaacs>was wondering who would have to pull and rebase :)
23:16:36  <bnoordhuis>heh, ctrl-r 'push' <enter> to the rescue
23:32:11  <CIA-53>node: Ben Noordhuis * r4908e5b / deps/v8/src/platform-solaris.cc :
23:32:11  <CIA-53>node: v8: implement VirtualMemory class on SunOS
23:32:11  <CIA-53>node: Unbreaks build on SunOS. Un-reverts 9bbca99107652906a060679ee95bf1ad7381cbb5. - http://git.io/UPhuVQ
23:34:18  <rmustacc>bnoordhuis: Thanks for ^
23:34:52  <bnoordhuis>rmustacc: my pleasure