/
2012-05-22.txt
630 lines (630 loc) · 80.1 KB
/
2012-05-22.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
{"nick":"mikeal","date":"2012-05-22T00:02:12.095Z","type":"join"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Nathan Rajlich\u000f \u000307master\u000f * r\u00023f69c71\u000f \u000310\u000f/ lib/readline.js \u0002:\u000f readline: explicitly disable and re-enable \"raw mode\" on Ctrl+Z - http://git.io/A5T7WQ","date":"2012-05-22T00:11:59.988Z","type":"message"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Nathan Rajlich\u000f \u000307master\u000f * r\u0002a608f65\u000f \u000310\u000f/ lib/repl.js \u0002:\u000f repl: preserve the cursor when redisplaying the prompt on SIGCONT - http://git.io/CCJH1A","date":"2012-05-22T00:12:02.164Z","type":"message"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Nathan Rajlich\u000f \u000307master\u000f * r\u00022b9967f\u000f \u000310\u000f/ lib/readline.js \u0002:\u000f readline: move the \"setRawMode\" logic into a private function - http://git.io/9o6xAw","date":"2012-05-22T00:12:02.964Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2012-05-22T00:18:45.709Z","type":"quit"}
{"nick":"Aria","date":"2012-05-22T00:46:07.205Z","type":"join"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307cares\u000f * r\u000296e8aba\u000f \u000310\u000f/ (16 files in 6 dirs)\u0002:\u000f windows, unix: share c-ares glue code - http://git.io/3YXXZg","date":"2012-05-22T00:51:07.307Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307cares\u000f * r\u00023e1cadb\u000f \u000310\u000f/ test/benchmark-ares.c \u0002:\u000f Make the gethostbyname benchmark more precise - http://git.io/4ByoOg","date":"2012-05-22T00:51:07.751Z","type":"message"}
{"nick":"piscisaureus_","message":"^-- bnoordhuis can you review that","date":"2012-05-22T00:51:52.283Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: yes, but not tonight","date":"2012-05-22T00:52:03.071Z","type":"message"}
{"nick":"piscisaureus_","message":"there is a bug in test/dns-server.c btw","date":"2012-05-22T00:52:08.257Z","type":"message"}
{"nick":"piscisaureus_","message":"a parser error","date":"2012-05-22T00:52:18.736Z","type":"message"}
{"nick":"piscisaureus_","message":"but I was unable to track down what exactly goes wrong","date":"2012-05-22T00:52:30.304Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: yeah I am also checking out","date":"2012-05-22T00:52:42.059Z","type":"message"}
{"nick":"piscisaureus_","message":"time for some R&R","date":"2012-05-22T00:52:44.420Z","type":"message"}
{"nick":"bnoordhuis","message":"yep, sleep tight","date":"2012-05-22T00:52:53.871Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T00:52:54.814Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#295 (cares - 3e1cadb : Bert Belder): The build is still failing.","date":"2012-05-22T00:52:55.034Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/07d4d71...3e1cadb","date":"2012-05-22T00:52:55.034Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1395462","date":"2012-05-22T00:52:55.034Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T00:52:55.034Z","type":"part"}
{"nick":"piscisaureus_","message":"I will be very happy when we get rid of https://github.com/joyent/libuv/blob/ad279df7c08d01b8c683090e955bf628a8aa3bc1/src/win/cares.c","date":"2012-05-22T00:54:34.796Z","type":"message"}
{"nick":"bnoordhuis","reason":"Ping timeout: 246 seconds","date":"2012-05-22T00:57:37.135Z","type":"quit"}
{"nick":"AlbireoX","reason":"Ping timeout: 246 seconds","date":"2012-05-22T01:01:07.136Z","type":"quit"}
{"nick":"pietern","reason":"Ping timeout: 252 seconds","date":"2012-05-22T01:23:31.906Z","type":"quit"}
{"nick":"xaq","reason":"Ping timeout: 245 seconds","date":"2012-05-22T01:29:53.364Z","type":"quit"}
{"nick":"abraxas","date":"2012-05-22T01:37:02.214Z","type":"join"}
{"nick":"mmalecki_","date":"2012-05-22T01:37:27.394Z","type":"join"}
{"nick":"mmalecki","reason":"Ping timeout: 265 seconds","date":"2012-05-22T01:38:08.313Z","type":"quit"}
{"nick":"erickt","reason":"Ping timeout: 244 seconds","date":"2012-05-22T01:55:47.870Z","type":"quit"}
{"nick":"brson","reason":"Quit: leaving","date":"2012-05-22T02:00:16.459Z","type":"quit"}
{"nick":"erickt","date":"2012-05-22T02:09:53.189Z","type":"join"}
{"nick":"erickt","reason":"Quit: erickt","date":"2012-05-22T02:18:41.859Z","type":"quit"}
{"nick":"piscisaureus_","reason":"Quit: ~ Trillian Astra - www.trillian.im ~","date":"2012-05-22T02:22:42.183Z","type":"quit"}
{"nick":"ira","reason":"Quit: Computer has gone to sleep.","date":"2012-05-22T02:26:02.907Z","type":"quit"}
{"nick":"erickt","date":"2012-05-22T03:00:31.114Z","type":"join"}
{"nick":"c4milo","reason":"Remote host closed the connection","date":"2012-05-22T03:39:20.854Z","type":"quit"}
{"nick":"Aria","reason":"Remote host closed the connection","date":"2012-05-22T03:40:30.716Z","type":"quit"}
{"nick":"mmalecki_","reason":"Quit: Reconnecting","date":"2012-05-22T04:14:17.404Z","type":"quit"}
{"nick":"mmalecki","date":"2012-05-22T04:14:34.857Z","type":"join"}
{"nick":"erickt","reason":"Quit: erickt","date":"2012-05-22T05:14:47.621Z","type":"quit"}
{"nick":"deoxxa","message":"hmm where's bnoordhuis","date":"2012-05-22T05:24:05.542Z","type":"message"}
{"nick":"deoxxa","message":"i have a weird device here that libuv doesn't want to work properly on, and he seemed interested in cases like that","date":"2012-05-22T05:24:33.419Z","type":"message"}
{"nick":"leif","date":"2012-05-22T05:26:05.613Z","type":"join"}
{"nick":"ljackson","reason":"Read error: Operation timed out","date":"2012-05-22T05:26:09.651Z","type":"quit"}
{"nick":"AlbireoX","date":"2012-05-22T05:43:52.958Z","type":"join"}
{"nick":"paddybyers","date":"2012-05-22T05:56:46.887Z","type":"join"}
{"nick":"avalanche123","date":"2012-05-22T06:06:30.863Z","type":"join"}
{"nick":"deoxxa","message":"yep, uv_fs_event is definitely broken on this device","date":"2012-05-22T06:42:25.454Z","type":"message"}
{"nick":"deoxxa","message":"time to resort to timers!","date":"2012-05-22T06:42:30.890Z","type":"message"}
{"nick":"mmalecki","message":"deoxxa: Ben is in the Netherlands, it's 8:47 :)","date":"2012-05-22T06:48:16.932Z","type":"message"}
{"nick":"abraxas","reason":"Read error: No route to host","date":"2012-05-22T07:02:09.046Z","type":"quit"}
{"nick":"abraxas","date":"2012-05-22T07:02:26.914Z","type":"join"}
{"nick":"avalanch_","date":"2012-05-22T07:07:17.160Z","type":"join"}
{"nick":"avalanch_","reason":"Client Quit","date":"2012-05-22T07:10:42.211Z","type":"quit"}
{"nick":"avalanche123","reason":"Quit: Computer has gone to sleep.","date":"2012-05-22T07:15:33.850Z","type":"quit"}
{"nick":"rendar","date":"2012-05-22T07:22:17.653Z","type":"join"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Igor Zinkovsky\u000f \u000307master\u000f * r\u0002ea8fa31\u000f \u000310\u000f/ test/test-fs.c \u0002:\u000f fix fs_symlink_dir test - http://git.io/USsFIg","date":"2012-05-22T07:24:52.252Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T07:26:40.835Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#296 (master - ea8fa31 : Igor Zinkovsky): The build is still failing.","date":"2012-05-22T07:26:41.069Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/ad279df...ea8fa31","date":"2012-05-22T07:26:41.069Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1397728","date":"2012-05-22T07:26:41.069Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T07:26:41.070Z","type":"part"}
{"nick":"indutny","message":"igorzi__: heya","date":"2012-05-22T07:35:29.146Z","type":"message"}
{"nick":"indutny","message":"igorzi__: how is it going with stdio stuff for libuv?","date":"2012-05-22T07:35:36.910Z","type":"message"}
{"nick":"mmalecki","reason":"Ping timeout: 260 seconds","date":"2012-05-22T08:05:19.741Z","type":"quit"}
{"nick":"ira","date":"2012-05-22T11:22:38.521Z","type":"join"}
{"nick":"bnoordhuis","date":"2012-05-22T11:27:24.927Z","type":"join"}
{"nick":"piscisaureus_","date":"2012-05-22T11:42:11.107Z","type":"join"}
{"nick":"bnoordhuis","message":"piscisaureus_: https://github.com/joyent/libuv/commit/ea8fa31fc0c9865c91a8872c15610d80d5ac93c4#L0R1346 <- why +4?","date":"2012-05-22T11:47:21.292Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: a sec","date":"2012-05-22T11:47:38.395Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: hey","date":"2012-05-22T11:50:37.426Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: ho","date":"2012-05-22T11:50:42.012Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: that's because symlinks start with \\\\?\\ on windows","date":"2012-05-22T11:50:48.950Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: hmm wait","date":"2012-05-22T11:51:06.348Z","type":"message"}
{"nick":"piscisaureus_","message":"that's odd innit? :-)","date":"2012-05-22T11:51:11.645Z","type":"message"}
{"nick":"bnoordhuis","message":"quite","date":"2012-05-22T11:51:15.077Z","type":"message"}
{"nick":"piscisaureus_","message":"what is the value of test_dir?","date":"2012-05-22T11:51:59.165Z","type":"message"}
{"nick":"piscisaureus_","message":"aah","date":"2012-05-22T11:53:09.493Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: https://github.com/joyent/libuv/blob/ea8fa31fc0c9865c91a8872c15610d80d5ac93c4/test/test-fs.c#L1322-1326","date":"2012-05-22T11:53:11.399Z","type":"message"}
{"nick":"bnoordhuis","message":"ah, right","date":"2012-05-22T11:53:36.608Z","type":"message"}
{"nick":"bnoordhuis","message":"shouldn't it check for strlen(test_dir) then?","date":"2012-05-22T11:53:54.515Z","type":"message"}
{"nick":"bnoordhuis","message":"using a #ifdef _WIN32 is pretty nasty","date":"2012-05-22T11:54:06.677Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: *shrug*","date":"2012-05-22T11:54:48.531Z","type":"message"}
{"nick":"piscisaureus_","message":"ask igor :-)","date":"2012-05-22T11:54:50.682Z","type":"message"}
{"nick":"piscisaureus_","message":"i didn't read the code","date":"2012-05-22T11:54:55.300Z","type":"message"}
{"nick":"bnoordhuis","message":"i will","date":"2012-05-22T11:55:02.961Z","type":"message"}
{"nick":"bnoordhuis","message":"i guess just a strlen(test_dir) won't work either","date":"2012-05-22T11:55:21.158Z","type":"message"}
{"nick":"bnoordhuis","message":"it looks like the string is \\\\?\\\\test_dir\\","date":"2012-05-22T11:55:34.706Z","type":"message"}
{"nick":"bnoordhuis","message":"your windows is strange and confusing","date":"2012-05-22T11:55:58.335Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: that's because of the code I just linked you","date":"2012-05-22T12:00:09.918Z","type":"message"}
{"nick":"deoxxa","message":"bnoordhuis: got a device here that doesn't want to play nice with uv_fs_event (pretty sure there's no inotify or similar) - is this of interest to you?","date":"2012-05-22T12:13:11.108Z","type":"message"}
{"nick":"deoxxa","message":"(you mentioned you'd like to know about systems that don't work properly with libuv)","date":"2012-05-22T12:13:38.391Z","type":"message"}
{"nick":"bnoordhuis","message":"deoxxa: hrm, somewhat. does libuv compile?","date":"2012-05-22T12:14:09.911Z","type":"message"}
{"nick":"deoxxa","message":"it's statically linked into the executable","date":"2012-05-22T12:14:24.013Z","type":"message"}
{"nick":"deoxxa","message":"there's no compiler on the box","date":"2012-05-22T12:14:27.384Z","type":"message"}
{"nick":"bnoordhuis","message":"deoxxa: okay. if the kernel doesn't support inotify, you're out of luck as far as fs events go","date":"2012-05-22T12:15:04.604Z","type":"message"}
{"nick":"deoxxa","message":"i've worked around it for now with a timer and polling the file i'm interested in (which afaik is going to be the internal libuv workaround too in future)","date":"2012-05-22T12:15:11.370Z","type":"message"}
{"nick":"bnoordhuis","message":"there wasn't anything usable before inotify","date":"2012-05-22T12:15:23.435Z","type":"message"}
{"nick":"deoxxa","message":"mmm","date":"2012-05-22T12:15:38.818Z","type":"message"}
{"nick":"bnoordhuis","message":"yes, a polling stat - i'll cry sad little tears the day i commit that though","date":"2012-05-22T12:15:55.800Z","type":"message"}
{"nick":"deoxxa","message":"heh","date":"2012-05-22T12:15:59.359Z","type":"message"}
{"nick":"deoxxa","message":"everything else seems to work just fine though, i'm quite impressed :)","date":"2012-05-22T12:16:13.313Z","type":"message"}
{"nick":"deoxxa","message":"i've implemented using libuv in a week what took nearly 6 months for a coworker who doesn't appreciate external libraries","date":"2012-05-22T12:16:55.098Z","type":"message"}
{"nick":"deoxxa","action":"<3","date":"2012-05-22T12:17:07.226Z","type":"action"}
{"nick":"deoxxa","message":"and with a much nicer interface to boot","date":"2012-05-22T12:17:30.762Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: https://github.com/joyent/libuv/compare/cares","date":"2012-05-22T12:17:40.930Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: what should i be looking at?","date":"2012-05-22T12:18:27.182Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: review","date":"2012-05-22T12:18:37.340Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: it didn't change since last night :-)","date":"2012-05-22T12:18:55.577Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: there's a small error in there, I am curious whether you will catch it :-)","date":"2012-05-22T12:19:43.482Z","type":"message"}
{"nick":"bnoordhuis","message":"let's find out","date":"2012-05-22T12:19:55.808Z","type":"message"}
{"nick":"piscisaureus_","message":"(i will fix it even if you don't find it :-))","date":"2012-05-22T12:20:01.261Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: ares_handles_ and ares_timer_ are private fields. I didn't add the postfix underscore","date":"2012-05-22T12:24:19.476Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: i know, but it's still inconsistent","date":"2012-05-22T12:24:41.914Z","type":"message"}
{"nick":"TheJH","date":"2012-05-22T12:26:29.992Z","type":"join"}
{"nick":"bnoordhuis","message":"piscisaureus_: uv_timer_again(&loop->ares_timer_) <- should the timer be restarted if status != 0?","date":"2012-05-22T12:27:12.109Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: I don't think it matters","date":"2012-05-22T12:28:08.572Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: re superfluous cast - I am not going to fix the cases where we cast void* to something else","date":"2012-05-22T12:29:22.090Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: don't bother mentioning them","date":"2012-05-22T12:29:27.983Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: except in unix-only code","date":"2012-05-22T12:29:37.282Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: i will, again and again, until you stop doing that :)","date":"2012-05-22T12:29:38.334Z","type":"message"}
{"nick":"abraxas","reason":"Remote host closed the connection","date":"2012-05-22T12:29:40.604Z","type":"quit"}
{"nick":"piscisaureus_","message":"never","date":"2012-05-22T12:30:09.515Z","type":"message"}
{"nick":"piscisaureus_","message":"NEVER","date":"2012-05-22T12:30:11.925Z","type":"message"}
{"nick":"abraxas","date":"2012-05-22T12:30:15.802Z","type":"join"}
{"nick":"piscisaureus_","message":"I wish visual studio could show github comments inline","date":"2012-05-22T12:32:10.148Z","type":"message"}
{"nick":"bnoordhuis","message":"time for a plugin","date":"2012-05-22T12:33:48.039Z","type":"message"}
{"nick":"bnoordhuis","message":"anyway, reviewed","date":"2012-05-22T12:33:54.313Z","type":"message"}
{"nick":"piscisaureus_","message":"thanks","date":"2012-05-22T12:34:17.742Z","type":"message"}
{"nick":"abraxas","reason":"Read error: Operation timed out","date":"2012-05-22T12:34:25.136Z","type":"quit"}
{"nick":"piscisaureus_","reason":"Read error: No route to host","date":"2012-05-22T12:36:22.384Z","type":"quit"}
{"nick":"piscisaureus_","date":"2012-05-22T12:36:50.111Z","type":"join"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u00026190cab\u000f \u000310\u000f/ src/unix/uv-eio.c \u0002:\u000f unix: remove outdated comment - http://git.io/hzJfiw","date":"2012-05-22T13:09:53.992Z","type":"message"}
{"nick":"piscisaureus_","reason":"Quit: ~ Trillian Astra - www.trillian.im ~","date":"2012-05-22T13:10:14.492Z","type":"quit"}
{"nick":"travis-ci","date":"2012-05-22T13:11:52.279Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#297 (master - 6190cab : Ben Noordhuis): The build is still failing.","date":"2012-05-22T13:11:52.498Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/ea8fa31...6190cab","date":"2012-05-22T13:11:52.499Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1399875","date":"2012-05-22T13:11:52.499Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T13:11:52.499Z","type":"part"}
{"nick":"piscisaureus_","date":"2012-05-22T13:27:16.000Z","type":"join"}
{"nick":"abraxas","date":"2012-05-22T13:28:30.351Z","type":"join"}
{"nick":"c4milo","date":"2012-05-22T13:41:11.139Z","type":"join"}
{"nick":"piscisaureus_","message":"bnoordhuis: uv_ares_task is an internal type, right?","date":"2012-05-22T13:45:08.393Z","type":"message"}
{"nick":"avalanche123","date":"2012-05-22T13:52:13.560Z","type":"join"}
{"nick":"piscisaureus_","reason":"Quit: ~ Trillian Astra - www.trillian.im ~","date":"2012-05-22T13:56:14.487Z","type":"quit"}
{"nick":"bnoordhuis","message":"pisyes","date":"2012-05-22T13:59:28.431Z","type":"message"}
{"nick":"bnoordhuis","message":"eh, tab complete fail","date":"2012-05-22T13:59:34.478Z","type":"message"}
{"nick":"bnoordhuis","message":"ircretary: tell piscisaureus_ yes, uv_ares_task is internal","date":"2012-05-22T13:59:57.898Z","type":"message"}
{"nick":"ircretary","message":"bnoordhuis: I'll be sure to tell piscisaureus_","date":"2012-05-22T13:59:58.120Z","type":"message"}
{"nick":"erickt","date":"2012-05-22T14:00:10.365Z","type":"join"}
{"nick":"piscisaureus_","date":"2012-05-22T14:01:57.353Z","type":"join"}
{"nick":"piscisaureus_","message":"yay","date":"2012-05-22T14:02:10.113Z","type":"message"}
{"nick":"piscisaureus_","message":"sorry my mac is fucking up again","date":"2012-05-22T14:02:20.989Z","type":"message"}
{"nick":"piscisaureus_","reason":"Client Quit","date":"2012-05-22T14:02:26.942Z","type":"quit"}
{"nick":"bnoordhuis","message":"It Just Works(TM)","date":"2012-05-22T14:02:46.242Z","type":"message"}
{"nick":"indutny","message":"bnoordhuis: it just works for me","date":"2012-05-22T14:03:01.593Z","type":"message"}
{"nick":"indutny","message":"well, not always","date":"2012-05-22T14:03:18.038Z","type":"message"}
{"nick":"indutny","message":"but mostly","date":"2012-05-22T14:03:19.708Z","type":"message"}
{"nick":"bnoordhuis","message":"not quite as convincing though, It Mostly Works(TM)","date":"2012-05-22T14:03:52.539Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u0002a478847\u000f \u000310\u000f/ (test/test-list.h uv.gyp test/test-callback-order.c)\u0002:\u000f test: add callback order test - http://git.io/5UdcDA","date":"2012-05-22T14:06:29.388Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u000280b5541\u000f \u000310\u000f/ (include/uv-private/uv-unix.h src/unix/core.c src/unix/loop.c)\u0002:\u000f unix: reactive new idle watcher implementation - http://git.io/mo26Vw","date":"2012-05-22T14:06:33.390Z","type":"message"}
{"nick":"piscisaureus_","date":"2012-05-22T14:06:57.350Z","type":"join"}
{"nick":"travis-ci","date":"2012-05-22T14:08:17.129Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#298 (master - a478847 : Ben Noordhuis): The build is still failing.","date":"2012-05-22T14:08:17.353Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/6190cab...a478847","date":"2012-05-22T14:08:17.353Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1400299","date":"2012-05-22T14:08:17.353Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T14:08:17.353Z","type":"part"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307cares\u000f * r\u00027eb118f\u000f \u000310\u000f/ test/benchmark-ares.c \u0002:\u000f Make the gethostbyname benchmark more precise - http://git.io/95JNUw","date":"2012-05-22T14:09:06.979Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307cares\u000f * r\u000275e72dd\u000f \u000310\u000f/ (16 files in 6 dirs)\u0002:\u000f windows, unix: share c-ares glue code - http://git.io/qA-fmg","date":"2012-05-22T14:09:07.203Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307cares\u000f * r\u0002753bf6d\u000f \u000310\u000f/ (include/uv.h src/cares.c src/uv-common.c src/uv-common.h)\u0002:\u000f Move shared c-ares glue code from uv-common to cares.c - http://git.io/ru3PTQ","date":"2012-05-22T14:09:07.642Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307cares\u000f * r\u00023e7e9ca\u000f \u000310\u000f/ (3 files in 2 dirs)\u0002:\u000f Get rid of UV_HANDLE_TYPE_PRIVATE - http://git.io/h6ERxg","date":"2012-05-22T14:09:07.863Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: ^-- any desire to look at the last 2 commits?","date":"2012-05-22T14:10:10.054Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: no, but i'll do it anyway","date":"2012-05-22T14:10:23.685Z","type":"message"}
{"nick":"tjfontaine","message":"heh","date":"2012-05-22T14:10:32.637Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T14:11:02.829Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#299 (cares - 3e7e9ca : Bert Belder): The build is still failing.","date":"2012-05-22T14:11:03.045Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/3e1cadb...3e7e9ca","date":"2012-05-22T14:11:03.046Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1400321","date":"2012-05-22T14:11:03.046Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T14:11:03.046Z","type":"part"}
{"nick":"bnoordhuis","message":"piscisaureus_: lgtm","date":"2012-05-22T14:11:32.629Z","type":"message"}
{"nick":"piscisaureus_","message":"kewl","date":"2012-05-22T14:11:37.182Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: I also fixed your comments but they are squashed already","date":"2012-05-22T14:11:53.627Z","type":"message"}
{"nick":"bnoordhuis","message":"good","date":"2012-05-22T14:11:59.239Z","type":"message"}
{"nick":"bnoordhuis","message":"did i find the bug?","date":"2012-05-22T14:12:01.849Z","type":"message"}
{"nick":"piscisaureus_","message":"yeah it was the memory leak","date":"2012-05-22T14:12:07.224Z","type":"message"}
{"nick":"bnoordhuis","message":"yay, go me!","date":"2012-05-22T14:12:13.045Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis ++","date":"2012-05-22T14:12:19.118Z","type":"message"}
{"nick":"kohai","message":"bnoordhuis has 16 beers","date":"2012-05-22T14:12:19.765Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307master\u000f * r\u000225316a3\u000f \u000310\u000f/ test/benchmark-ares.c \u0002:\u000f Make the gethostbyname benchmark more precise - http://git.io/A442qw","date":"2012-05-22T14:12:43.071Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307master\u000f * r\u0002c06edd4\u000f \u000310\u000f/ (16 files in 6 dirs)\u0002:\u000f windows, unix: share c-ares glue code - http://git.io/J6WWzg","date":"2012-05-22T14:12:43.508Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307master\u000f * r\u000258ba2d8\u000f \u000310\u000f/ (include/uv.h src/cares.c src/uv-common.c src/uv-common.h)\u0002:\u000f Move shared c-ares glue code from uv-common to cares.c - http://git.io/lFzS5A","date":"2012-05-22T14:12:43.727Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307master\u000f * r\u0002d166579\u000f \u000310\u000f/ (3 files in 2 dirs)\u0002:\u000f Get rid of UV_HANDLE_TYPE_PRIVATE - http://git.io/L0hD7w","date":"2012-05-22T14:12:43.947Z","type":"message"}
{"nick":"piscisaureus_","message":"now to get rid of loop->ares_handles and loop->ares_timer","date":"2012-05-22T14:13:08.501Z","type":"message"}
{"nick":"piscisaureus_","message":"and we can rip out c-ares","date":"2012-05-22T14:13:18.522Z","type":"message"}
{"nick":"piscisaureus_","message":"but that will be some other time","date":"2012-05-22T14:13:24.306Z","type":"message"}
{"nick":"bnoordhuis","message":"i don't understand why simple/test-eio-limit fails every once in a while...","date":"2012-05-22T14:14:30.023Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T14:14:32.275Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#300 (master - d166579 : Bert Belder): The build is still failing.","date":"2012-05-22T14:14:32.500Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/a478847...d166579","date":"2012-05-22T14:14:32.500Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1400342","date":"2012-05-22T14:14:32.500Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T14:14:32.500Z","type":"part"}
{"nick":"deoxxa","message":"bnoordhuis: prejudice against humans - it's the beginning of the machine uprising","date":"2012-05-22T14:16:03.552Z","type":"message"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u00020888cdd\u000f \u000310\u000f/ test/simple/test-cli-eval.js \u0002:\u000f test: fix bad comment - http://git.io/X3T6ag","date":"2012-05-22T14:16:06.814Z","type":"message"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u0002989ae81\u000f \u000310\u000f/ test/simple/test-process-active-wraps.js \u0002:\u000f test: fix simple/test-process-active-wraps - http://git.io/vE43ZQ","date":"2012-05-22T14:16:07.928Z","type":"message"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u0002039fac6\u000f \u000310\u000f/ (86 files in 11 dirs)\u0002:\u000f deps: upgrade libuv to a478847 - http://git.io/FW5ZIQ","date":"2012-05-22T14:16:09.277Z","type":"message"}
{"nick":"bnoordhuis","message":"^ there it is, the refcount refactor","date":"2012-05-22T14:16:26.851Z","type":"message"}
{"nick":"piscisaureus_","message":"cool","date":"2012-05-22T14:16:32.307Z","type":"message"}
{"nick":"tjfontaine","message":"dun dun dun","date":"2012-05-22T14:16:36.964Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: do you mind if I remove uv_lean_and_mean?","date":"2012-05-22T14:17:39.759Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: not at all, just make sure you update uv-unix","date":"2012-05-22T14:18:00.612Z","type":"message"}
{"nick":"piscisaureus_","message":"sure","date":"2012-05-22T14:18:05.835Z","type":"message"}
{"nick":"bnoordhuis","message":"though i'll miss it when debugging","date":"2012-05-22T14:18:16.810Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: do you have uv_walk already?","date":"2012-05-22T14:18:34.419Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: no. trivial to add though","date":"2012-05-22T14:18:55.230Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: I want to keep active_reqs","date":"2012-05-22T14:18:55.912Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: but not active handles, because I want a list of *all* handles","date":"2012-05-22T14:19:12.479Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: sure, i can live with that","date":"2012-05-22T14:19:21.784Z","type":"message"}
{"nick":"piscisaureus_","message":"and the active reqs should only contain reqs that are created by users (and not windows internal reqs)","date":"2012-05-22T14:19:33.869Z","type":"message"}
{"nick":"bnoordhuis","message":"yeah, i discovered uv-unix has one or two of those as well","date":"2012-05-22T14:20:04.801Z","type":"message"}
{"nick":"bnoordhuis","message":"mostly to prime eio","date":"2012-05-22T14:20:21.136Z","type":"message"}
{"nick":"piscisaureus_","message":"ah, right","date":"2012-05-22T14:20:29.699Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: hey","date":"2012-05-22T15:11:21.198Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: why should idle run before timer_cb?","date":"2012-05-22T15:11:33.795Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: I think that's not true","date":"2012-05-22T15:11:43.274Z","type":"message"}
{"nick":"piscisaureus_","message":"not as a general rule, anyway","date":"2012-05-22T15:11:55.548Z","type":"message"}
{"nick":"mrb_bk","reason":"Read error: Connection reset by peer","date":"2012-05-22T15:12:19.408Z","type":"quit"}
{"nick":"Raynos","reason":"Remote host closed the connection","date":"2012-05-22T15:12:19.849Z","type":"quit"}
{"nick":"indutny","reason":"Remote host closed the connection","date":"2012-05-22T15:12:22.129Z","type":"quit"}
{"nick":"TooTallNate","reason":"Read error: Connection reset by peer","date":"2012-05-22T15:12:23.679Z","type":"quit"}
{"nick":"avalanche123","reason":"Ping timeout: 248 seconds","date":"2012-05-22T15:13:02.111Z","type":"quit"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Bert Belder\u000f \u000307master\u000f * r\u00020ef7844\u000f \u000310\u000f/ test/test-list.h \u0002:\u000f Disable test-callback-order - http://git.io/0b4vaw","date":"2012-05-22T15:14:03.398Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: it's what node expects","date":"2012-05-22T15:15:20.554Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: it's not","date":"2012-05-22T15:15:26.720Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: see simple/test-next-tick-ordering2","date":"2012-05-22T15:15:30.708Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: windows doesn't fail that test yet it fails test-callback-ordering","date":"2012-05-22T15:15:41.604Z","type":"message"}
{"nick":"piscisaureus_","message":"it's also not what libev does","date":"2012-05-22T15:15:46.797Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T15:15:54.863Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#301 (master - 0ef7844 : Bert Belder): The build is still failing.","date":"2012-05-22T15:15:54.863Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/d166579...0ef7844","date":"2012-05-22T15:15:54.863Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1400838","date":"2012-05-22T15:15:54.863Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T15:15:54.864Z","type":"part"}
{"nick":"bnoordhuis","message":"that libuv test is a 1-to-1 translation of the node test","date":"2012-05-22T15:16:07.697Z","type":"message"}
{"nick":"avalanche123","date":"2012-05-22T15:16:11.831Z","type":"join"}
{"nick":"piscisaureus_","message":"that would surprise me","date":"2012-05-22T15:16:21.886Z","type":"message"}
{"nick":"piscisaureus_","message":"since node doesn't use uv_idle","date":"2012-05-22T15:16:28.197Z","type":"message"}
{"nick":"piscisaureus_","message":"it processes nextTick with prepare callbacks","date":"2012-05-22T15:16:44.298Z","type":"message"}
{"nick":"piscisaureus_","message":"the idle thing is only there to keep the loop alive long enough","date":"2012-05-22T15:16:57.970Z","type":"message"}
{"nick":"bnoordhuis","message":"piscisaureus_: and tick_spinner","date":"2012-05-22T15:16:59.660Z","type":"message"}
{"nick":"bnoordhuis","message":"but okay, maybe","date":"2012-05-22T15:17:12.262Z","type":"message"}
{"nick":"piscisaureus_","message":"yes... but it doesn't make nextTick callbacks from the idle","date":"2012-05-22T15:17:13.164Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: ok... so it *also* calls the tick callback from the Idle but that doesn't mean anything... that code is normally not reached","date":"2012-05-22T15:20:49.255Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: nextTick callbacks are usually invoked from prepare or check","date":"2012-05-22T15:21:20.669Z","type":"message"}
{"nick":"erickt","reason":"Quit: erickt","date":"2012-05-22T15:21:40.984Z","type":"quit"}
{"nick":"piscisaureus_","message":"bnoordhuis: If it is failing for you you may not be calling Prepare/Check when the fd set is empty","date":"2012-05-22T15:21:58.186Z","type":"message"}
{"nick":"piscisaureus_","message":"but nexttick semantics are insane","date":"2012-05-22T15:22:46.534Z","type":"message"}
{"nick":"mrb_bk","date":"2012-05-22T15:23:41.924Z","type":"join"}
{"nick":"creationix","message":"why don't we just run nextTick callback when an event source returns?","date":"2012-05-22T15:25:52.507Z","type":"message"}
{"nick":"creationix","message":"*callbacks","date":"2012-05-22T15:25:56.870Z","type":"message"}
{"nick":"piscisaureus_","message":"yeah","date":"2012-05-22T15:26:02.631Z","type":"message"}
{"nick":"piscisaureus_","message":"I think the concern was that if you do","date":"2012-05-22T15:26:10.501Z","type":"message"}
{"nick":"creationix","message":"only event sources and other nextTick callbacks can register nextTick callbacks","date":"2012-05-22T15:26:19.803Z","type":"message"}
{"nick":"piscisaureus_","message":"process.nextTick(function() { process.nextTick(arguments.callee) })","date":"2012-05-22T15:26:31.995Z","type":"message"}
{"nick":"piscisaureus_","message":"^-- that would starve all other events","date":"2012-05-22T15:26:38.819Z","type":"message"}
{"nick":"creationix","message":"I'd consider that a feature","date":"2012-05-22T15:27:02.925Z","type":"message"}
{"nick":"piscisaureus_","message":"but I don't think it would matter much","date":"2012-05-22T15:27:03.806Z","type":"message"}
{"nick":"creationix","message":"while(true) {} starves other events too","date":"2012-05-22T15:27:29.582Z","type":"message"}
{"nick":"creationix","message":"of course, then it should probably be called afterTick instead of nextTick","date":"2012-05-22T15:28:06.546Z","type":"message"}
{"nick":"creationix","message":"but that's usually what a person wants anyway","date":"2012-05-22T15:28:19.845Z","type":"message"}
{"nick":"piscisaureus_","message":"setImmediate as w3c would call it :-)","date":"2012-05-22T15:28:27.206Z","type":"message"}
{"nick":"creationix","message":"interesting name","date":"2012-05-22T15:28:42.252Z","type":"message"}
{"nick":"creationix","message":"I guess to be like setTimeout","date":"2012-05-22T15:28:47.416Z","type":"message"}
{"nick":"creationix","message":"except it's not \"Immediate\", it's later, but within this tick","date":"2012-05-22T15:29:14.651Z","type":"message"}
{"nick":"piscisaureus_","message":"yeah I guess so","date":"2012-05-22T15:29:17.558Z","type":"message"}
{"nick":"piscisaureus_","message":"setLater","date":"2012-05-22T15:29:21.792Z","type":"message"}
{"nick":"creationix","message":"emberjs has something like this, but I'm not sure it's exposed to user scripts","date":"2012-05-22T15:29:39.511Z","type":"message"}
{"nick":"creationix","message":"since they wrap all event sources, there is a loop to handle nextTick-like things when it returns","date":"2012-05-22T15:30:10.018Z","type":"message"}
{"nick":"creationix","message":"I wonder how much node code would break if we changed nextTick","date":"2012-05-22T15:30:33.043Z","type":"message"}
{"nick":"piscisaureus_","message":"Not so much probably","date":"2012-05-22T15:30:41.622Z","type":"message"}
{"nick":"piscisaureus_","message":"node.cc is a mess","date":"2012-05-22T15:30:50.647Z","type":"message"}
{"nick":"pietern","date":"2012-05-22T15:30:58.483Z","type":"join"}
{"nick":"piscisaureus_","message":"creationix: but you should probably be happy with this weirdness","date":"2012-05-22T15:31:35.993Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: it ensures that we need to define libuv's loop behaviour very precisely","date":"2012-05-22T15:32:11.241Z","type":"message"}
{"nick":"creationix","message":"I don't use any of the uv_prepare, uc_idle, etc in my projects","date":"2012-05-22T15:33:19.705Z","type":"message"}
{"nick":"creationix","message":"never understood them or needed them","date":"2012-05-22T15:33:25.406Z","type":"message"}
{"nick":"piscisaureus_","message":"prepare and check are rather odd","date":"2012-05-22T15:33:46.090Z","type":"message"}
{"nick":"indutny","date":"2012-05-22T15:33:49.309Z","type":"join"}
{"nick":"piscisaureus_","message":"I think node is actually abusing them","date":"2012-05-22T15:33:53.067Z","type":"message"}
{"nick":"piscisaureus_","message":"idle is nice","date":"2012-05-22T15:33:55.274Z","type":"message"}
{"nick":"piscisaureus_","message":"suppose you would implement a game","date":"2012-05-22T15:34:12.021Z","type":"message"}
{"nick":"piscisaureus_","message":"you could process events at normal priority","date":"2012-05-22T15:34:32.678Z","type":"message"}
{"nick":"piscisaureus_","message":"and in an idle callback you render a frame","date":"2012-05-22T15:34:39.406Z","type":"message"}
{"nick":"indutny","message":"huh","date":"2012-05-22T15:34:50.320Z","type":"message"}
{"nick":"indutny","message":"piscisaureus_: sup?","date":"2012-05-22T15:34:53.117Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: libuv/libev will just call your idle callback unless it has something else to do","date":"2012-05-22T15:35:06.195Z","type":"message"}
{"nick":"piscisaureus_","message":"indutny: nothing ?","date":"2012-05-22T15:35:19.253Z","type":"message"}
{"nick":"indutny","message":"piscisaureus_: looks like :)","date":"2012-05-22T15:35:25.269Z","type":"message"}
{"nick":"creationix","message":"yeah, I see how they could be useful","date":"2012-05-22T15:35:34.749Z","type":"message"}
{"nick":"creationix","message":"just never needed them","date":"2012-05-22T15:35:37.910Z","type":"message"}
{"nick":"creationix","message":"hmm, so quick question on setImmediate and the desired behavior of process.nextTick","date":"2012-05-22T15:36:35.084Z","type":"message"}
{"nick":"creationix","message":"should it be before or after other queued events?","date":"2012-05-22T15:36:41.834Z","type":"message"}
{"nick":"creationix","message":"before is much easier to implement and usually what I want","date":"2012-05-22T15:36:53.612Z","type":"message"}
{"nick":"piscisaureus_","message":"heh","date":"2012-05-22T15:36:55.035Z","type":"message"}
{"nick":"piscisaureus_","message":"neither I guess","date":"2012-05-22T15:36:59.003Z","type":"message"}
{"nick":"piscisaureus_","message":"it should run before events that are initiated in current the tick are completed","date":"2012-05-22T15:37:28.116Z","type":"message"}
{"nick":"TheJH","reason":"Ping timeout: 245 seconds","date":"2012-05-22T15:37:29.861Z","type":"quit"}
{"nick":"creationix","message":"by \"queued events\" I mean other event sources that have already been put in the event queue","date":"2012-05-22T15:37:32.449Z","type":"message"}
{"nick":"creationix","message":"so if I setTimeout(fn, 10) and then busy loop for 400ms calculating primes, and then nextTick(fn2), should fn2 be before or after fn","date":"2012-05-22T15:38:13.563Z","type":"message"}
{"nick":"piscisaureus_","message":"before","date":"2012-05-22T15:38:38.570Z","type":"message"}
{"nick":"piscisaureus_","message":"because setTimeout is called in the same tick as nextTick","date":"2012-05-22T15:39:00.310Z","type":"message"}
{"nick":"creationix","message":"and if within fn2, I do another nextTick(fn3) should fn3 still be before fn?","date":"2012-05-22T15:39:04.687Z","type":"message"}
{"nick":"piscisaureus_","message":"no","date":"2012-05-22T15:39:16.075Z","type":"message"}
{"nick":"creationix","message":"why?","date":"2012-05-22T15:39:19.752Z","type":"message"}
{"nick":"creationix","message":"it's still the same tick (well right after it I guess)","date":"2012-05-22T15:39:32.311Z","type":"message"}
{"nick":"piscisaureus_","message":"well, I'm not saying *should*, but that's what it does","date":"2012-05-22T15:39:44.042Z","type":"message"}
{"nick":"creationix","message":"yes, that's what it does today","date":"2012-05-22T15:39:51.913Z","type":"message"}
{"nick":"creationix","message":"I personally hate that behavior","date":"2012-05-22T15:39:59.559Z","type":"message"}
{"nick":"creationix","message":"it causes nasty race conditions","date":"2012-05-22T15:40:06.360Z","type":"message"}
{"nick":"creationix","message":"and hurts performance ","date":"2012-05-22T15:40:11.616Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: there are wonky edge cases tho","date":"2012-05-22T15:40:12.669Z","type":"message"}
{"nick":"creationix","message":"and what would setImmediete do in the fn2, fn3 case?","date":"2012-05-22T15:40:57.452Z","type":"message"}
{"nick":"creationix","message":"it says it executed after UI stuff, but doesn't mention things like new click events or expired timeouts","date":"2012-05-22T15:41:13.698Z","type":"message"}
{"nick":"creationix","message":"there is no UI layer in node","date":"2012-05-22T15:41:20.579Z","type":"message"}
{"nick":"piscisaureus_","message":"function f2() {","date":"2012-05-22T15:41:26.095Z","type":"message"}
{"nick":"piscisaureus_","message":" process.nextTick(f1c)","date":"2012-05-22T15:41:26.318Z","type":"message"}
{"nick":"piscisaureus_","message":"}","date":"2012-05-22T15:41:26.318Z","type":"message"}
{"nick":"piscisaureus_","message":"function f1() {","date":"2012-05-22T15:41:26.318Z","type":"message"}
{"nick":"piscisaureus_","message":" process.nextTick(f1b);","date":"2012-05-22T15:41:26.318Z","type":"message"}
{"nick":"piscisaureus_","message":"}","date":"2012-05-22T15:41:26.318Z","type":"message"}
{"nick":"piscisaureus_","message":"process.nextTick(f1);","date":"2012-05-22T15:41:26.319Z","type":"message"}
{"nick":"piscisaureus_","message":"process.nextTick(f2);","date":"2012-05-22T15:41:27.128Z","type":"message"}
{"nick":"piscisaureus_","message":"^-- creationix: what order would you suggest?","date":"2012-05-22T15:41:33.635Z","type":"message"}
{"nick":"creationix","message":"so when the event source finishes, the queue has [f1, f2]","date":"2012-05-22T15:41:56.777Z","type":"message"}
{"nick":"piscisaureus_","message":"hmm I meant to say \"f2b\" and not \"f1c\"","date":"2012-05-22T15:41:58.302Z","type":"message"}
{"nick":"creationix","message":"it then executes f1 which puts f2b in the queue [f2, f1b]","date":"2012-05-22T15:42:33.893Z","type":"message"}
{"nick":"creationix","message":"s/f2b/f2b/","date":"2012-05-22T15:42:48.826Z","type":"message"}
{"nick":"piscisaureus_","message":"ghe","date":"2012-05-22T15:42:53.208Z","type":"message"}
{"nick":"piscisaureus_","message":"I see what you mean ?","date":"2012-05-22T15:42:56.610Z","type":"message"}
{"nick":"piscisaureus_","message":"s/?/!/","date":"2012-05-22T15:43:00.477Z","type":"message"}
{"nick":"Raynos","date":"2012-05-22T15:43:07.711Z","type":"join"}
{"nick":"creationix","message":"as long as it's a queue and you only pull from the front, it's very well defined","date":"2012-05-22T15:43:20.540Z","type":"message"}
{"nick":"creationix","message":"all within the same stack","date":"2012-05-22T15:43:25.154Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: true... but you just defined a semantic where nextTick is always called immediately after the current tick","date":"2012-05-22T15:43:48.631Z","type":"message"}
{"nick":"piscisaureus_","message":"but that breaks as soon as multiple nextTicks are queued within the same tick","date":"2012-05-22T15:44:16.549Z","type":"message"}
{"nick":"creationix","message":"how does it break?","date":"2012-05-22T15:44:27.339Z","type":"message"}
{"nick":"creationix","message":"it's single threaded, there is one queue","date":"2012-05-22T15:44:34.781Z","type":"message"}
{"nick":"creationix","message":"order is well defined","date":"2012-05-22T15:44:41.935Z","type":"message"}
{"nick":"creationix","message":"callbacks get called in the order they are registered till there are none left","date":"2012-05-22T15:44:51.515Z","type":"message"}
{"nick":"piscisaureus_","message":"Currently the actual semantics are very odd","date":"2012-05-22T15:45:48.650Z","type":"message"}
{"nick":"creationix","message":"right, what I want is very simple. The only downside is some current code may busyloop if it depends on infinite recursive nextTicks","date":"2012-05-22T15:46:18.263Z","type":"message"}
{"nick":"creationix","message":"also what I want shouldn't be called \"nextTick\"","date":"2012-05-22T15:46:32.331Z","type":"message"}
{"nick":"piscisaureus_","message":"Every time processTicks is called all the callbacks that are in the queue at that point in time are made, but new nextTick callbacks are put on a new queue and executed on the next processTicks invocation","date":"2012-05-22T15:46:39.949Z","type":"message"}
{"nick":"piscisaureus_","message":"and a loop looks like this","date":"2012-05-22T15:46:46.614Z","type":"message"}
{"nick":"avalanche123","reason":"Ping timeout: 276 seconds","date":"2012-05-22T15:46:59.783Z","type":"quit"}
{"nick":"piscisaureus_","message":"processTicks -> processTicks -> processTimers -> processIoEvents -> repeat","date":"2012-05-22T15:47:04.390Z","type":"message"}
{"nick":"creationix","message":"when did that change? I remember node code used to be `while (next = queue.shift()) {next()}","date":"2012-05-22T15:47:15.798Z","type":"message"}
{"nick":"piscisaureus_","message":"a long long time ago","date":"2012-05-22T15:47:24.319Z","type":"message"}
{"nick":"piscisaureus_","message":"(the two processTicks in a row is not an oversight)","date":"2012-05-22T15:47:49.525Z","type":"message"}
{"nick":"creationix","message":"so processTicks is what eats the current queue of nextTick functions?","date":"2012-05-22T15:48:31.128Z","type":"message"}
{"nick":"piscisaureus_","message":"yep","date":"2012-05-22T15:48:37.526Z","type":"message"}
{"nick":"creationix","message":"that's really strange","date":"2012-05-22T15:48:50.081Z","type":"message"}
{"nick":"piscisaureus_","message":"well, it's actually called _tickCallback","date":"2012-05-22T15:48:52.123Z","type":"message"}
{"nick":"piscisaureus_","message":"but yeah","date":"2012-05-22T15:48:53.774Z","type":"message"}
{"nick":"creationix","message":"that's going to bite people","date":"2012-05-22T15:49:00.928Z","type":"message"}
{"nick":"piscisaureus_","message":"probably not","date":"2012-05-22T15:49:09.595Z","type":"message"}
{"nick":"creationix","message":"the first two time you call it, it's before real events, but not beyond that","date":"2012-05-22T15:49:16.376Z","type":"message"}
{"nick":"piscisaureus_","message":"the semantics are so weird that nobody will rely on anything","date":"2012-05-22T15:49:19.001Z","type":"message"}
{"nick":"creationix","message":"also if I re4gister a nextTick in a timer, then I/O events still come in first?","date":"2012-05-22T15:49:31.969Z","type":"message"}
{"nick":"deoxxa","message":"^^ famous last words","date":"2012-05-22T15:49:33.071Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: yep","date":"2012-05-22T15:49:43.514Z","type":"message"}
{"nick":"avalanche123","date":"2012-05-22T15:49:45.825Z","type":"join"}
{"nick":"TooTallNate","date":"2012-05-22T15:49:54.855Z","type":"join"}
{"nick":"creationix","message":"ok, how about this, we leave nextTick as it is, but add a simpler one called afterTick or setImmediate that does what I want","date":"2012-05-22T15:50:10.705Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: it's easy to test","date":"2012-05-22T15:50:19.543Z","type":"message"}
{"nick":"creationix","message":"so what is the purpose of nextTick in the first place?","date":"2012-05-22T15:51:12.168Z","type":"message"}
{"nick":"creationix","message":"I don't think that's clearly defined","date":"2012-05-22T15:51:21.419Z","type":"message"}
{"nick":"creationix","message":"it's too unreliable in the current form for the things I need it for","date":"2012-05-22T15:51:30.440Z","type":"message"}
{"nick":"piscisaureus_","message":"creationix: https://gist.github.com/2769922","date":"2012-05-22T15:54:54.394Z","type":"message"}
{"nick":"piscisaureus_","message":"here's what I get on windows:","date":"2012-05-22T15:54:54.616Z","type":"message"}
{"nick":"piscisaureus_","message":"timeout","date":"2012-05-22T15:54:54.616Z","type":"message"}
{"nick":"piscisaureus_","message":"timeout","date":"2012-05-22T15:54:54.616Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by nexttick","date":"2012-05-22T15:54:54.616Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by timer","date":"2012-05-22T15:54:55.128Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by timer","date":"2012-05-22T15:54:55.346Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by nexttick","date":"2012-05-22T15:54:56.129Z","type":"message"}
{"nick":"piscisaureus_","message":"// repeat","date":"2012-05-22T15:54:56.346Z","type":"message"}
{"nick":"piscisaureus_","message":"I wonder where the double timeout comes from btw","date":"2012-05-22T15:55:56.843Z","type":"message"}
{"nick":"avalanche123","reason":"Ping timeout: 252 seconds","date":"2012-05-22T15:56:26.861Z","type":"quit"}
{"nick":"creationix","message":"strange","date":"2012-05-22T15:57:30.837Z","type":"message"}
{"nick":"piscisaureus_","message":"let's add some busy loop to the tick() function","date":"2012-05-22T15:59:23.398Z","type":"message"}
{"nick":"avalanche123","date":"2012-05-22T16:00:03.867Z","type":"join"}
{"nick":"piscisaureus_","message":"In unix I get","date":"2012-05-22T16:00:04.321Z","type":"message"}
{"nick":"piscisaureus_","message":"timeout","date":"2012-05-22T16:00:05.215Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by nexttick","date":"2012-05-22T16:00:05.433Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by timer","date":"2012-05-22T16:00:05.433Z","type":"message"}
{"nick":"piscisaureus_","message":"nexttick set by nexttick","date":"2012-05-22T16:00:05.433Z","type":"message"}
{"nick":"piscisaureus_","message":"timeout","date":"2012-05-22T16:00:05.433Z","type":"message"}
{"nick":"piscisaureus_","message":"if I add a busyloop to tick()","date":"2012-05-22T16:00:12.971Z","type":"message"}
{"nick":"piscisaureus_","message":"the double timer looks like a bug in uv-win to me","date":"2012-05-22T16:00:43.960Z","type":"message"}
{"nick":"brson","date":"2012-05-22T16:03:04.042Z","type":"join"}
{"nick":"piscisaureus_","reason":"Quit: ~ Trillian Astra - www.trillian.im ~","date":"2012-05-22T16:03:16.352Z","type":"quit"}
{"nick":"avalanche123","reason":"Ping timeout: 252 seconds","date":"2012-05-22T16:13:25.871Z","type":"quit"}
{"nick":"avalanche123","date":"2012-05-22T16:16:31.095Z","type":"join"}
{"nick":"igorzi__","message":"indutny: hey.. yt?","date":"2012-05-22T16:16:57.746Z","type":"message"}
{"nick":"indutny","message":"igorzi__: yep","date":"2012-05-22T16:17:03.945Z","type":"message"}
{"nick":"igorzi__","message":"indutny: has your stdio stuff landed yet?","date":"2012-05-22T16:17:30.383Z","type":"message"}
{"nick":"indutny","message":"igorzi__: you mean unix part of it?","date":"2012-05-22T16:17:41.528Z","type":"message"}
{"nick":"indutny","message":"I think no","date":"2012-05-22T16:17:57.596Z","type":"message"}
{"nick":"igorzi__","message":"indutny: yes, unix part","date":"2012-05-22T16:18:46.493Z","type":"message"}
{"nick":"igorzi__","message":"indutny: also, you're making changes to the API?","date":"2012-05-22T16:18:54.923Z","type":"message"}
{"nick":"igorzi__","message":"(to support uv_stream_t)?","date":"2012-05-22T16:19:02.327Z","type":"message"}
{"nick":"indutny","message":"igorzi__: yes, I did that","date":"2012-05-22T16:19:08.906Z","type":"message"}
{"nick":"indutny","message":"igorzi__: nothing else changed","date":"2012-05-22T16:19:21.792Z","type":"message"}
{"nick":"igorzi__","message":"indutny: ok","date":"2012-05-22T16:19:42.626Z","type":"message"}
{"nick":"AvianFlu","date":"2012-05-22T16:41:51.904Z","type":"join"}
{"nick":"deoxxa","message":"what's the best way to do HTTP with libuv? is there any existing code i can steal from node's core or something?","date":"2012-05-22T16:48:33.034Z","type":"message"}
{"nick":"deoxxa","message":"specifically to act as a client","date":"2012-05-22T16:48:37.510Z","type":"message"}
{"nick":"tjfontaine","message":"deoxxa: perhaps with some help from https://github.com/joyent/http-parser","date":"2012-05-22T16:52:33.607Z","type":"message"}
{"nick":"perezd","date":"2012-05-22T16:52:44.724Z","type":"join"}
{"nick":"deoxxa","message":"yeah, i'm thinking that looks like a winner for parsing the response","date":"2012-05-22T16:52:56.205Z","type":"message"}
{"nick":"deoxxa","message":"but i was wondering if there was perhaps some code existing already for doing the request","date":"2012-05-22T16:53:21.062Z","type":"message"}
{"nick":"deoxxa","message":"i mean, i can just manually construct it, my requests don't change a whole lot","date":"2012-05-22T16:53:32.979Z","type":"message"}
{"nick":"deoxxa","message":"but it would be neat","date":"2012-05-22T16:53:47.062Z","type":"message"}
{"nick":"mmalecki","date":"2012-05-22T16:55:38.268Z","type":"join"}
{"nick":"AvianFlu","reason":"Ping timeout: 240 seconds","date":"2012-05-22T16:55:48.827Z","type":"quit"}
{"nick":"saghul","reason":"Ping timeout: 276 seconds","date":"2012-05-22T16:56:32.778Z","type":"quit"}
{"nick":"saghul","date":"2012-05-22T16:59:10.847Z","type":"join"}
{"nick":"AvianFlu","date":"2012-05-22T16:59:39.803Z","type":"join"}
{"nick":"brson","reason":"Ping timeout: 276 seconds","date":"2012-05-22T17:03:02.717Z","type":"quit"}
{"nick":"mmalecki","reason":"Ping timeout: 260 seconds","date":"2012-05-22T17:04:54.130Z","type":"quit"}
{"nick":"brson","date":"2012-05-22T17:09:28.175Z","type":"join"}
{"nick":"brson","reason":"Read error: Connection reset by peer","date":"2012-05-22T17:11:33.488Z","type":"quit"}
{"nick":"brson","date":"2012-05-22T17:11:46.776Z","type":"join"}
{"nick":"mmalecki","date":"2012-05-22T17:13:55.643Z","type":"join"}
{"nick":"avalanche123","reason":"Ping timeout: 244 seconds","date":"2012-05-22T17:19:42.628Z","type":"quit"}
{"nick":"mmalecki","reason":"Ping timeout: 252 seconds","date":"2012-05-22T17:19:47.895Z","type":"quit"}
{"nick":"avalanche123","date":"2012-05-22T17:21:07.826Z","type":"join"}
{"nick":"avalanche123","reason":"Quit: Computer has gone to sleep.","date":"2012-05-22T17:26:15.030Z","type":"quit"}
{"nick":"mmalecki","date":"2012-05-22T17:30:40.599Z","type":"join"}
{"nick":"mikeal","date":"2012-05-22T18:05:22.126Z","type":"join"}
{"nick":"erickt","date":"2012-05-22T18:13:58.068Z","type":"join"}
{"nick":"avalanche123","date":"2012-05-22T18:20:51.923Z","type":"join"}
{"nick":"isaacs","date":"2012-05-22T19:50:12.808Z","type":"join"}
{"nick":"piscisaureus_","date":"2012-05-22T20:02:50.275Z","type":"join"}
{"nick":"piscisaureus_","message":"hello","date":"2012-05-22T20:03:16.417Z","type":"message"}
{"nick":"piscisaureus_","reason":"Read error: Connection reset by peer","date":"2012-05-22T20:03:30.685Z","type":"quit"}
{"nick":"perezd","reason":"Quit: perezd","date":"2012-05-22T20:04:03.749Z","type":"quit"}
{"nick":"piscisaureus_","date":"2012-05-22T20:04:06.717Z","type":"join"}
{"nick":"perezd","date":"2012-05-22T20:13:04.749Z","type":"join"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2012-05-22T20:14:21.379Z","type":"quit"}
{"nick":"igorzi__","message":"piscisaureus_: hey.. yt?","date":"2012-05-22T20:17:58.111Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: yep, I'm here","date":"2012-05-22T20:18:15.719Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: from what we talked about yesterday (about uv_spawn).. you wanted all new pipes to be duplex by default?","date":"2012-05-22T20:19:18.361Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: well, I am not sure. Making them all duplex has some merits","date":"2012-05-22T20:20:42.274Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: well.. we need a system of what the defaults are and how to override defaults","date":"2012-05-22T20:21:27.879Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: with the api that indutny has right now (https://github.com/joyent/libuv/pull/413) it seems that duplex is not the default (since we have explicit UV_DUPLEX_PIPE)","date":"2012-05-22T20:22:06.466Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: or do you think we need to change the api and add UV_PIPE_READABLE/UV_PIPE_WRITEABLE?","date":"2012-05-22T20:22:36.779Z","type":"message"}
{"nick":"piscisaureus_","reason":"Ping timeout: 240 seconds","date":"2012-05-22T20:24:48.883Z","type":"quit"}
{"nick":"piscisaureus__","date":"2012-05-22T20:24:53.065Z","type":"join"}
{"nick":"piscisaureus__","new_nick":"piscisaureus_","date":"2012-05-22T20:24:57.845Z","type":"nick"}
{"nick":"piscisaureus_","message":"igorzi__: sorry, my internet is really flaky atm :-(","date":"2012-05-22T20:25:12.547Z","type":"message"}
{"nick":"piscisaureus_","message":"\u000310[22:20] <piscisaureus_> \u000301igorzi__: but at least I'd like to not hard-code that 0 is write-only and 1,2 are read-only (from the parent process' perspective)","date":"2012-05-22T20:25:25.409Z","type":"message"}
{"nick":"piscisaureus_","message":"\u000310[22:21] <piscisaureus_> \u000301igorzi__: I think we can just add a flag that specifies the modality of the pipe\u0003\u000301","date":"2012-05-22T20:25:25.939Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: re UV_PIPE_READABLE/UV_PIPE_WRITEABLE - I dig that","date":"2012-05-22T20:25:55.701Z","type":"message"}
{"nick":"piscisaureus_","message":"seems the most reasonable we can do","date":"2012-05-22T20:26:02.962Z","type":"message"}
{"nick":"piscisaureus_","message":"although you'll have to document clearly whether readable/writable is from the parent's - or from the child's perspective","date":"2012-05-22T20:26:47.878Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok thanks","date":"2012-05-22T20:28:03.203Z","type":"message"}
{"nick":"igorzi__","message":"indutny: ^","date":"2012-05-22T20:28:19.148Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: one more thing","date":"2012-05-22T20:28:39.495Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: junctions.. do you think we need to expose junction as an option in node js api?","date":"2012-05-22T20:29:00.663Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: or do we just try to be smart and create junctions when possible?","date":"2012-05-22T20:29:23.596Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: yes","date":"2012-05-22T20:29:26.665Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: no I think it should be explicity","date":"2012-05-22T20:29:32.657Z","type":"message"}
{"nick":"piscisaureus_","message":"*explicit","date":"2012-05-22T20:29:35.727Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: and what do you think should be the default?","date":"2012-05-22T20:29:55.787Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: default should be symlink to a file imho","date":"2012-05-22T20:30:09.271Z","type":"message"}
{"nick":"piscisaureus_","message":"as it is now","date":"2012-05-22T20:30:12.731Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok, so don't change the default.. just add another 'junction' option","date":"2012-05-22T20:30:29.623Z","type":"message"}
{"nick":"piscisaureus_","message":"yep","date":"2012-05-22T20:30:35.528Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: k.. thx","date":"2012-05-22T20:30:42.964Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: that's my opinion - but it's bikeshedding to a large extent","date":"2012-05-22T20:30:51.396Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: you have an opinion on this matter? You'll likely be the first user of junctions -)","date":"2012-05-22T20:31:25.340Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: i don't know :).. i don't use links a lot.. i think the primary reason for this is to enable \"npm link\", in which case exposing junction in the api should be good","date":"2012-05-22T20:32:11.142Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: i suppose that we could make it more automatic (like create a junction if the target is dir and it exists), but i don't know if that'll be useful or if that'll confuse people","date":"2012-05-22T20:34:28.798Z","type":"message"}
{"nick":"TheJH","date":"2012-05-22T20:37:00.602Z","type":"join"}
{"nick":"piscisaureus_","reason":"Ping timeout: 240 seconds","date":"2012-05-22T20:37:18.877Z","type":"quit"}
{"nick":"piscisaureus_","date":"2012-05-22T20:41:24.357Z","type":"join"}
{"nick":"piscisaureus_","reason":"Read error: Connection reset by peer","date":"2012-05-22T20:41:51.989Z","type":"quit"}
{"nick":"piscisaureus_","date":"2012-05-22T20:42:56.939Z","type":"join"}
{"nick":"piscisaureus_","message":"igorzi__: we could make it more automatic but it only works if the target exists","date":"2012-05-22T20:49:40.180Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: right","date":"2012-05-22T20:49:57.055Z","type":"message"}
{"nick":"piscisaureus_","message":"also it's not nice to switch between junctions and symlinks automatically because they have different semantics","date":"2012-05-22T20:50:08.313Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: true.. especially if one works when running non-elevated and the other one doesn't","date":"2012-05-22T20:50:38.199Z","type":"message"}
{"nick":"piscisaureus_","message":"In general I don't like doing automagic unless we can make it *always* work","date":"2012-05-22T20:50:42.194Z","type":"message"}
{"nick":"piscisaureus_","message":"so let's just go the explicit route","date":"2012-05-22T20:50:54.770Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok, sounds good","date":"2012-05-22T20:51:01.941Z","type":"message"}
{"nick":"TheJH","reason":"Read error: Operation timed out","date":"2012-05-22T20:54:12.594Z","type":"quit"}
{"nick":"avalanche123","reason":"Quit: Computer has gone to sleep.","date":"2012-05-22T20:57:09.690Z","type":"quit"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Igor Zinkovsky\u000f \u000307master\u000f * r\u00026e435da\u000f \u000310\u000f/ test/simple/test-child-process-fork-exec-argv.js \u0002:\u000f remove race from test-child-process-fork-exec-argv test - http://git.io/VPZJCw","date":"2012-05-22T21:01:10.859Z","type":"message"}
{"nick":"avalanche123","date":"2012-05-22T21:04:06.087Z","type":"join"}
{"nick":"mikeal","date":"2012-05-22T21:12:22.939Z","type":"join"}
{"nick":"isaacs","message":"piscisaureus_: igorzi__: as long as there's an easy way to say \"make something just like a symlink in unix\", and it behaves like one, then i'm all for it.","date":"2012-05-22T21:17:08.365Z","type":"message"}
{"nick":"isaacs","message":"piscisaureus_: igorzi__: I know that's kind of a vague opinion :)","date":"2012-05-22T21:17:18.997Z","type":"message"}
{"nick":"isaacs","message":"but, i guess it falls a little more on the \"behave the same as unix\" side of the fence.","date":"2012-05-22T21:17:52.203Z","type":"message"}
{"nick":"isaacs","message":"by default, anyway","date":"2012-05-22T21:17:56.872Z","type":"message"}
{"nick":"isaacs","message":"even if that means slightly more magic","date":"2012-05-22T21:18:14.489Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: well, the problem is we can't do that really :-)","date":"2012-05-22T21:18:35.825Z","type":"message"}
{"nick":"isaacs","message":"right","date":"2012-05-22T21:18:44.235Z","type":"message"}
{"nick":"igorzi__","message":"isaacs: we're leaning against magic, and instead make it explicit","date":"2012-05-22T21:18:46.807Z","type":"message"}
{"nick":"isaacs","message":"sure","date":"2012-05-22T21:18:50.250Z","type":"message"}
{"nick":"isaacs","message":"the biggest problem is lstat, really","date":"2012-05-22T21:19:02.672Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: aah, lstat and readlink can work automagically :-)","date":"2012-05-22T21:19:19.357Z","type":"message"}
{"nick":"isaacs","message":"right","date":"2012-05-22T21:19:26.040Z","type":"message"}
{"nick":"isaacs","message":"readlink already works","date":"2012-05-22T21:19:28.627Z","type":"message"}
{"nick":"isaacs","message":"but lstat doesn't, and that confuses npm link super badly","date":"2012-05-22T21:19:37.920Z","type":"message"}
{"nick":"igorzi__","message":"isaacs: you'll just need to pass an extra 'junction' option for symlink on windows","date":"2012-05-22T21:19:54.706Z","type":"message"}
{"nick":"isaacs","message":"what would be the noticeable effect in the \"explicit\" approach","date":"2012-05-22T21:19:56.522Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: but for symlinks you'll have to specify whether the target is supposed be a directory or a file","date":"2012-05-22T21:19:58.961Z","type":"message"}
{"nick":"piscisaureus_","message":"because if you get the type wrong the symlink doesn't work","date":"2012-05-22T21:20:10.972Z","type":"message"}
{"nick":"isaacs","message":"piscisaureus_: i think right now, I do fs.symlink(f, t, 'dir')","date":"2012-05-22T21:20:24.379Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: and if that fails (because of windows XP, or not admin), you can retry and create a junction","date":"2012-05-22T21:20:31.791Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: but junctions can never point to files","date":"2012-05-22T21:20:47.393Z","type":"message"}
{"nick":"isaacs","message":"i see","date":"2012-05-22T21:20:50.235Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: and junctions are always an absolute path","date":"2012-05-22T21:20:54.450Z","type":"message"}
{"nick":"isaacs","message":"eew","date":"2012-05-22T21:21:01.206Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: i believe we always resolve relative paths to absolute paths in node (for windows anyway)","date":"2012-05-22T21:21:28.220Z","type":"message"}
{"nick":"piscisaureus_","message":"isaacs: we (or at least, I) don't want to upgrade fs.symlink to auto choose a particular type","date":"2012-05-22T21:21:30.628Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: not for symlinks I suppose? That would not be good :_)","date":"2012-05-22T21:21:47.007Z","type":"message"}
{"nick":"igorzi__","message":"https://github.com/joyent/node/blob/master/lib/fs.js#L480","date":"2012-05-22T21:22:20.988Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ^","date":"2012-05-22T21:22:28.333Z","type":"message"}
{"nick":"piscisaureus_","message":"ew","date":"2012-05-22T21:23:11.043Z","type":"message"}
{"nick":"piscisaureus_","message":"we shouldn't do that for relative paths","date":"2012-05-22T21:23:16.538Z","type":"message"}
{"nick":"piscisaureus_","message":"the symlink name itself of course","date":"2012-05-22T21:23:40.667Z","type":"message"}
{"nick":"piscisaureus_","message":"but not the target","date":"2012-05-22T21:23:42.934Z","type":"message"}
{"nick":"isaacs","message":"yeah, a symbolic link is supposed to be symbolic :)","date":"2012-05-22T21:24:02.589Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: should we not do that for all fs functions? or just symlink? (not resolve relative path target)","date":"2012-05-22T21:24:43.992Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: we should generally do it","date":"2012-05-22T21:25:06.200Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: but specifically *not* for relative symlink targets :-)","date":"2012-05-22T21:25:16.919Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok, i'll include that in the junction change.. i'll make _makeLong return the same path if it's relative","date":"2012-05-22T21:25:55.658Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__:nono","date":"2012-05-22T21:26:49.375Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: makeLong should absoluteize paths","date":"2012-05-22T21:26:57.714Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: but we should just not call makelong for the symlink target if that target is relative","date":"2012-05-22T21:27:19.704Z","type":"message"}
{"nick":"rendar","date":"2012-05-22T21:27:20.673Z","type":"quit"}
{"nick":"igorzi__","message":"piscisaureus_: you just said that shouldn't be limited to symlinks :)","date":"2012-05-22T21:27:37.823Z","type":"message"}
{"nick":"piscisaureus_","message":"umm","date":"2012-05-22T21:27:45.250Z","type":"message"}
{"nick":"piscisaureus_","message":"I mean","date":"2012-05-22T21:27:47.057Z","type":"message"}
{"nick":"piscisaureus_","message":"we should generally do it (where it == makeLong)","date":"2012-05-22T21:27:55.712Z","type":"message"}
{"nick":"piscisaureus_","message":"but specifically *not* for symlink targets","date":"2012-05-22T21:28:04.959Z","type":"message"}
{"nick":"piscisaureus_","message":"^-- igorzi__","date":"2012-05-22T21:28:08.277Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: so wouldn't it be cleaner to modify makeLong to do the right thing? (it's already basically a noop on unix)","date":"2012-05-22T21:28:33.000Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: I just tested it and windows allows symlink targets to exceed 256 characters even when not prefixed with \\\\?\\","date":"2012-05-22T21:28:39.665Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: well then it no longer works for long relative paths","date":"2012-05-22T21:28:52.389Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: e.g. fs.open('some-very-long/albeit/relative/...longer-than-256-chars-.../path') will no longer work","date":"2012-05-22T21:29:37.975Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: I think CreateFile also rejects *relative* paths longer than 256 characters","date":"2012-05-22T21:30:12.766Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok.. so we can't have it both ways then.. let's limit not resolving relative paths to symlink then?","date":"2012-05-22T21:32:26.988Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: yes, to the symlink *target*","date":"2012-05-22T21:33:12.303Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: the symlink itself should be makelong'd","date":"2012-05-22T21:33:20.553Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: right.. but for all other fs functions - we should still make them go through makeLong (which resolves relative to absolute)","date":"2012-05-22T21:34:01.011Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: yes","date":"2012-05-22T21:34:06.891Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: that is by far the best thing to do :-)","date":"2012-05-22T21:34:23.903Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok :)","date":"2012-05-22T21:34:29.897Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: actually, unix should do it too","date":"2012-05-22T21:34:31.064Z","type":"message"}
{"nick":"avalanche123","reason":"Quit: Computer has gone to sleep.","date":"2012-05-22T21:41:12.488Z","type":"quit"}
{"nick":"c4milo","reason":"Remote host closed the connection","date":"2012-05-22T21:44:45.049Z","type":"quit"}
{"nick":"isaacs","reason":"Remote host closed the connection","date":"2012-05-22T21:52:09.178Z","type":"quit"}
{"nick":"paddybyers","reason":"Quit: paddybyers","date":"2012-05-22T21:53:04.236Z","type":"quit"}
{"nick":"avalanche123","date":"2012-05-22T21:53:36.832Z","type":"join"}
{"nick":"igorzi__","message":"piscisaureus_: i wonder if we should add another arg to fs.symlink (for junction) or reuse the same arg as we use for 'dir'?","date":"2012-05-22T21:54:11.879Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: maybe flags? 'd' or 'j' or 'dj'?","date":"2012-05-22T21:54:31.665Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: what do you think?","date":"2012-05-22T21:54:40.905Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: what would be the merits of adding another option?","date":"2012-05-22T21:54:45.262Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: I think we can just document that \"junction\" implies that the target has to be a dir","date":"2012-05-22T21:55:07.957Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ahh, so 'dir' automatically means junction?","date":"2012-05-22T21:56:46.561Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: no","date":"2012-05-22T21:56:52.240Z","type":"message"}
{"nick":"piscisaureus_","message":"\"dir\" means symlink w/ dir type","date":"2012-05-22T21:57:01.791Z","type":"message"}
{"nick":"piscisaureus_","message":"\"junction\" means junction with \"dir\" target","date":"2012-05-22T21:57:14.898Z","type":"message"}
{"nick":"piscisaureus_","message":"because junctions cannot point to files","date":"2012-05-22T21:57:20.327Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: just take 'junction' as type, and that'll automatically mean dir","date":"2012-05-22T21:57:27.929Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: so type can be 'file', 'dir', or 'junction' ?","date":"2012-05-22T21:57:53.061Z","type":"message"}
{"nick":"piscisaureus_","message":"yes","date":"2012-05-22T21:57:53.280Z","type":"message"}
{"nick":"piscisaureus_","message":"ey","date":"2012-05-22T21:57:56.137Z","type":"message"}
{"nick":"piscisaureus_","message":"yes","date":"2012-05-22T21:57:57.293Z","type":"message"}
{"nick":"igorzi__","message":"ok, nice","date":"2012-05-22T21:58:01.331Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: just like mklink actually","date":"2012-05-22T21:58:39.088Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: except that mklink has no \"file\" option because that's the default","date":"2012-05-22T21:59:01.836Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: ok, makes sense","date":"2012-05-22T21:59:35.647Z","type":"message"}
{"nick":"perezd","reason":"Quit: perezd","date":"2012-05-22T22:03:50.887Z","type":"quit"}
{"nick":"piscisaureus_","message":"too hot here","date":"2012-05-22T22:41:09.220Z","type":"message"}
{"nick":"piscisaureus_","message":"bnoordhuis: when are you coming to 020?","date":"2012-05-22T22:44:23.517Z","type":"message"}
{"nick":"mikeal","reason":"Quit: Leaving.","date":"2012-05-22T22:47:58.476Z","type":"quit"}
{"nick":"bnoordhuis","message":"piscisaureus_: thursday","date":"2012-05-22T22:54:34.193Z","type":"message"}
{"nick":"piscisaureus_","message":"ok","date":"2012-05-22T22:55:34.499Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Igor Zinkovsky\u000f \u000307master\u000f * r\u0002253d718\u000f \u000310\u000f/ src/win/fs.c \u0002:\u000f report correct error - http://git.io/hizXWg","date":"2012-05-22T23:00:46.618Z","type":"message"}
{"nick":"mikeal","date":"2012-05-22T23:01:33.417Z","type":"join"}
{"nick":"travis-ci","date":"2012-05-22T23:02:31.891Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#302 (master - 253d718 : Igor Zinkovsky): The build is still failing.","date":"2012-05-22T23:02:32.118Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/0ef7844...253d718","date":"2012-05-22T23:02:32.119Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1405699","date":"2012-05-22T23:02:32.119Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T23:02:32.119Z","type":"part"}
{"nick":"c4milo","date":"2012-05-22T23:08:37.134Z","type":"join"}
{"nick":"avalanche123","reason":"Quit: Computer has gone to sleep.","date":"2012-05-22T23:13:12.799Z","type":"quit"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Igor Zinkovsky\u000f \u000307master\u000f * r\u00022df8317\u000f \u000310\u000f/ src/win/fs.c \u0002:\u000f windows: set flags for uv_fs_symlink - http://git.io/QDWhJQ","date":"2012-05-22T23:33:27.717Z","type":"message"}
{"nick":"AvianFlu","reason":"Quit: Leaving","date":"2012-05-22T23:33:45.143Z","type":"quit"}
{"nick":"travis-ci","date":"2012-05-22T23:35:15.484Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#303 (master - 2df8317 : Igor Zinkovsky): The build is still failing.","date":"2012-05-22T23:35:15.713Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/253d718...2df8317","date":"2012-05-22T23:35:15.713Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1405963","date":"2012-05-22T23:35:15.713Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T23:35:15.713Z","type":"part"}
{"nick":"igorzi__","message":"piscisaureus_ bnoordhuis: can we upgrade libuv in node?","date":"2012-05-22T23:40:16.178Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: yep","date":"2012-05-22T23:45:38.694Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: ben did it earlier today as well; the refcount refactor already landed","date":"2012-05-22T23:46:11.880Z","type":"message"}
{"nick":"igorzi__","message":"piscisaureus_: yep, saw that. i had several other fixes that i wanted to get into node (to get junctions working)","date":"2012-05-22T23:49:06.749Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: go ahead :-)","date":"2012-05-22T23:49:21.733Z","type":"message"}
{"nick":"pfox__","message":"piscisaureus_: it landed? congratulations! is the uv_walk on windows work still needed?","date":"2012-05-22T23:49:39.696Z","type":"message"}
{"nick":"piscisaureus_","message":"pfox__: yep. Hold off a bit, I am working on it myself","date":"2012-05-22T23:50:07.661Z","type":"message"}
{"nick":"CIA-155","message":"\u0002node:\u000f \u000303Igor Zinkovsky\u000f \u000307master\u000f * r\u0002dff467d\u000f \u000310\u000f/ (18 files in 7 dirs)\u0002:\u000f update uv to 2df831723fad25d2d97b824b2e52c65082af2723 - http://git.io/rWec5Q","date":"2012-05-22T23:50:34.552Z","type":"message"}
{"nick":"CIA-155","message":"\u0002libuv:\u000f \u000303Ben Noordhuis\u000f \u000307master\u000f * r\u00027a64ec4\u000f \u000310\u000f/ test/test-tcp-writealot.c \u0002:\u000f test: clean up test-tcp-writealot.c - http://git.io/PJ7-aw","date":"2012-05-22T23:51:18.572Z","type":"message"}
{"nick":"pfox__","message":"piscisaureus_: you are a hero. thank you.","date":"2012-05-22T23:52:05.353Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T23:53:05.110Z","type":"join"}
{"nick":"travis-ci","message":"[travis-ci] joyent/libuv#304 (master - 7a64ec4 : Ben Noordhuis): The build is still failing.","date":"2012-05-22T23:53:05.337Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Change view : https://github.com/joyent/libuv/compare/2df8317...7a64ec4","date":"2012-05-22T23:53:05.337Z","type":"message"}
{"nick":"travis-ci","message":"[travis-ci] Build details : http://travis-ci.org/joyent/libuv/builds/1406144","date":"2012-05-22T23:53:05.337Z","type":"message"}
{"nick":"travis-ci","date":"2012-05-22T23:53:05.337Z","type":"part"}
{"nick":"piscisaureus_","message":"pfox__: It's easy now. But I am getting rid of UV_LEAN_AND_MEAN at the same time.","date":"2012-05-22T23:56:41.710Z","type":"message"}
{"nick":"pfox__","message":"still my hero.","date":"2012-05-22T23:57:04.632Z","type":"message"}
{"nick":"pfox__","message":"ill stay tuned then, rust will definitely want to update its libuv submodule soon","date":"2012-05-22T23:57:38.608Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: hey","date":"2012-05-22T23:57:42.192Z","type":"message"}
{"nick":"piscisaureus_","message":"igorzi__: you forgot to add src/cares.c","date":"2012-05-22T23:57:48.531Z","type":"message"}
{"nick":"pfox__","message":"having uv_walk will make our libuv story a lot more straightforward. huzzah, etc.","date":"2012-05-22T23:57:56.556Z","type":"message"}
{"nick":"piscisaureus_","message":"good to hear that :-)","date":"2012-05-22T23:58:23.966Z","type":"message"}