weskinner_mac has joined #crystal-lang
weskinner_mac has quit [Quit: weskinner_mac]
weskinner_mac has joined #crystal-lang
ismaelga has quit [Remote host closed the connection]
ismaelga has joined #crystal-lang
weskinner_mac has quit [Quit: weskinner_mac]
ponga has quit [Remote host closed the connection]
havenwood has quit [Remote host closed the connection]
waj has joined #crystal-lang
weskinner_work has joined #crystal-lang
waj has quit [Quit: Leaving.]
weskinner_work has quit [Ping timeout: 252 seconds]
ponga has joined #crystal-lang
ponga has quit [Ping timeout: 240 seconds]
ponga has joined #crystal-lang
weskinner_mac has joined #crystal-lang
shama has quit [Remote host closed the connection]
weskinner_mac has quit [Client Quit]
shadeslayer has quit [Ping timeout: 240 seconds]
shama_ has joined #crystal-lang
ismaelga has quit [Remote host closed the connection]
shadeslayer has joined #crystal-lang
havenwood has joined #crystal-lang
shama_ has quit [Remote host closed the connection]
shama has joined #crystal-lang
weskinner_work has joined #crystal-lang
weskinner_work has quit [Ping timeout: 256 seconds]
shama has quit [Quit: (╯°□°)╯︵ɐɯɐɥs]
[tymat] has joined #crystal-lang
tymat has quit [Ping timeout: 245 seconds]
kgadek has quit [Ping timeout: 245 seconds]
[tymat] is now known as tymat
kgadek_ has joined #crystal-lang
irclogger_______ has quit [Ping timeout: 240 seconds]
irclogger_______ has joined #crystal-lang
weskinner_work has joined #crystal-lang
weskinner_work has quit [Ping timeout: 265 seconds]
weskinner_work has joined #crystal-lang
weskinner_work has quit [Ping timeout: 255 seconds]
Ven has joined #crystal-lang
leafybasil has quit [Remote host closed the connection]
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
leafybasil has joined #crystal-lang
havenwood has quit [Remote host closed the connection]
weskinner_work has joined #crystal-lang
Ven has joined #crystal-lang
weskinner_work has quit [Ping timeout: 272 seconds]
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
weskinner_work has joined #crystal-lang
weskinner_work has quit [Ping timeout: 256 seconds]
Ven has joined #crystal-lang
weskinner_work has joined #crystal-lang
weskinner_work has quit [Ping timeout: 252 seconds]
<
crystal-gh>
crystal/master 0d0c888 Ary Borenszweig: Fixed #476: Inherited class inherits enum but can't access its values by name
<
crystal-gh>
crystal/master a37eab9 Ary Borenszweig: Put back block return type in Matrix::new
<
crystal-gh>
crystal/master 8553f39 Ary Borenszweig: Fixed: Array#[...] and Array#[,] were not safe in some cases, and optimized them a bit
asterite has joined #crystal-lang
bcardiff has joined #crystal-lang
weskinner_work has joined #crystal-lang
ismaelga has joined #crystal-lang
<
crystal-gh>
crystal/master c26318f Shannon Skipper: Add an optional #each_with_index offset param...
<
crystal-gh>
crystal/master 4623bde Ary Borenszweig: Merge pull request #475 from havenwood/offset...
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<
travis-ci>
manastech/crystal#2125 (master - 4623bde : Ary Borenszweig): The build passed.
Ven has joined #crystal-lang
Ven has quit [Client Quit]
Ven has joined #crystal-lang
Ven_ has joined #crystal-lang
Ven has quit [Read error: Connection reset by peer]
Ven_ has quit [Remote host closed the connection]
Ven has joined #crystal-lang
havenwood has joined #crystal-lang
asterite has quit [Ping timeout: 246 seconds]
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Ven has joined #crystal-lang
bcardiff1 has joined #crystal-lang
bcardiff has quit [Ping timeout: 245 seconds]
Ven has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
asterite has joined #crystal-lang
shama has joined #crystal-lang
<
weskinner_work>
is asynchronous File.read implemented?
<
weskinner_work>
or will that be on the user to do in spawn {} ?
<
asterite>
File.read is never asynchronous because of how the OS works
<
asterite>
So... even if we set a file to be non-block, when we read we always get data
<
asterite>
But Socket is
<
weskinner_work>
if LibC.errno == Errno::EAGAIN
<
weskinner_work>
readers << Fiber.current
<
weskinner_work>
Scheduler.reschedule
<
weskinner_work>
ok so if we're in non blocking mode and the OS doesn't have anything for us we reschedule
<
weskinner_work>
but right now File defaults to blocking
leafybasil has quit [Remote host closed the connection]
<
asterite>
Yes, but that's because the OS will never give you EAGAIN
<
asterite>
so we just don't check it redundantly
<
asterite>
(that is, with files)
<
asterite>
Or at least that's what waj told me :)
<
weskinner_work>
you mean it will just block instead?
<
asterite>
I think so, have to ask waj
<
asterite>
but it never blocks, because the OS already has some things cached
<
weskinner_work>
I'm thinking it HAS to either block or return EGAIN if you were to do: "loop do; fdio.read(big_slice); end"
<
weskinner_work>
the FS couldn't keep up with it
bcardiff has joined #crystal-lang
bcardiff1 has quit [Ping timeout: 252 seconds]
havenwood has quit [Remote host closed the connection]
havenwood has joined #crystal-lang
anatolik has left #crystal-lang [#crystal-lang]
ismaelga has quit [Remote host closed the connection]
bcardiff1 has joined #crystal-lang
bcardiff has quit [Ping timeout: 256 seconds]
bcardiff1 has quit [Quit: Leaving.]
asterite has quit [Quit: Page closed]
havenwood has quit []
shadeslayer has quit [Ping timeout: 245 seconds]
shadeslayer has joined #crystal-lang
ismaelga has joined #crystal-lang
leafybasil has joined #crystal-lang
waj has joined #crystal-lang
weskinner_work has quit [Quit: weskinner_work]
weskinner_work has joined #crystal-lang
weskinner_work has quit [Ping timeout: 256 seconds]