2025/06/02

2025-06-02 00:05:32 +0200ttybitnik(~ttybitnik@user/wolper) (Quit: Fading out...)
2025-06-02 00:05:43 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 00:06:11 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:06:35 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:10:47 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-06-02 00:13:01 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:13:27 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:20:56 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:21:22 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:21:29 +0200AlexZenon(~alzenon@178.34.162.18) (Ping timeout: 244 seconds)
2025-06-02 00:21:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 00:25:15 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:25:40 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:26:25 +0200AlexZenon(~alzenon@178.34.162.18)
2025-06-02 00:26:52 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-06-02 00:32:39 +0200 <haskellbridge> <Liamzee> Also, I got desperate and tried to go try Codecanvas.ai for MVP
2025-06-02 00:32:57 +0200 <haskellbridge> <Liamzee> it's not there yet; capability is quite limited right now
2025-06-02 00:33:00 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:33:13 +0200 <haskellbridge> <Liamzee> (wiki website target, or at least the support staff told me that)
2025-06-02 00:33:23 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:37:38 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 00:39:16 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
2025-06-02 00:40:33 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:40:58 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:41:29 +0200dolio(~dolio@130.44.140.168) (Quit: ZNC 1.9.1 - https://znc.in)
2025-06-02 00:42:20 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-06-02 00:45:42 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:46:02 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:50:09 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-06-02 00:51:54 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:52:06 +0200dolio(~dolio@130.44.140.168) dolio
2025-06-02 00:52:16 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:53:27 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 00:59:06 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 00:59:29 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 00:59:59 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-06-02 01:06:05 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:06:27 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:11:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 01:12:07 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-02 01:12:23 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) (Ping timeout: 252 seconds)
2025-06-02 01:12:31 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:16:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-06-02 01:19:37 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:20:00 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:24:15 +0200Miroboru(~myrvoll@178-164-114.82.3p.ntebredband.no) Miroboru
2025-06-02 01:24:42 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-06-02 01:26:26 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:26:49 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:27:15 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 01:31:01 +0200jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 248 seconds)
2025-06-02 01:32:05 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-02 01:32:57 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:33:21 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:34:26 +0200sp1ff`(~user@c-67-160-173-55.hsd1.wa.comcast.net) (Remote host closed the connection)
2025-06-02 01:36:05 +0200acidjnk(~acidjnk@p200300d6e71c4f2310e63e9cf0655c32.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2025-06-02 01:41:25 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:41:53 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:43:02 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 01:43:41 +0200sprotte24(~sprotte24@p200300d16f132500cd886ae3b8d5bfb8.dip0.t-ipconnect.de) (Quit: Leaving)
2025-06-02 01:47:59 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:48:23 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:48:39 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-06-02 01:52:06 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-06-02 01:54:00 +0200developer_(~developer@90.167.50.215)
2025-06-02 01:55:47 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 01:55:51 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-06-02 01:56:05 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2025-06-02 01:56:10 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 01:56:14 +0200random-jellyfish(~developer@user/random-jellyfish) (Ping timeout: 245 seconds)
2025-06-02 01:58:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 02:01:33 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:01:53 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:04:15 +0200jespada(~jespada@r167-61-127-149.dialup.adsl.anteldata.net.uy) (Ping timeout: 276 seconds)
2025-06-02 02:07:50 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:07:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-06-02 02:08:14 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:08:24 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-06-02 02:10:04 +0200phma(~phma@host-67-44-208-56.hnremote.net) (Read error: Connection reset by peer)
2025-06-02 02:10:50 +0200phma(~phma@2001:5b0:210d:9c38:6091:34d1:6f16:4051)
2025-06-02 02:12:17 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-06-02 02:12:17 +0200ljdarj1ljdarj
2025-06-02 02:15:03 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:15:25 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:19:07 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 02:21:43 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:22:07 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:23:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-02 02:29:35 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:29:57 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:34:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 02:36:22 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:36:44 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:39:55 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2025-06-02 02:42:54 +0200 <EvanR> any clue why this is happening or if I'm just tripping. readFile on a named pipe acts normally the first time you open the fifo, "blocking" until a writer appears and starts sending data, then the lazy list terminates when the writer closes the fifo
2025-06-02 02:43:01 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:43:03 +0200Digit(~user@user/digit) (Ping timeout: 244 seconds)
2025-06-02 02:43:13 +0200 <EvanR> after consuming the entire list, another call to readFile on the fifo immediately returns []
2025-06-02 02:43:23 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:44:20 +0200 <geekosaur> that's standard fifo behavior, yes
2025-06-02 02:44:33 +0200 <EvanR> so you can never reopen a fifo?
2025-06-02 02:44:38 +0200 <geekosaur> right
2025-06-02 02:45:13 +0200 <geekosaur> you need to hold it open `O_RDWR` and have some protocol for "end of current connection". or use an `AF_LOCAL` socket, which behaves the way you want FIFOs to work
2025-06-02 02:46:10 +0200 <geekosaur> actually this isn't 100% POSIXX behavior, `readFile` and the somewhat weird Haskell Report-specified semantics of lazy I/O are contributing
2025-06-02 02:46:41 +0200 <geekosaur> the two together make FIFOs kinda unusable in Haskell
2025-06-02 02:46:43 +0200Digit(~user@user/digit) Digit
2025-06-02 02:47:05 +0200 <geekosaur> but that's only slightly worse than the normal POSIX behavior
2025-06-02 02:47:21 +0200 <geekosaur> really, just don't use FIFOs
2025-06-02 02:49:54 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-02 02:50:17 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:50:28 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 02:50:44 +0200 <EvanR> I don't understand the condition which causes a 2nd opening of the fifo to instantly return EOF
2025-06-02 02:50:58 +0200 <EvanR> e.g. I can run the program again or a second program to open it and it blocks
2025-06-02 02:51:07 +0200 <EvanR> for reading
2025-06-02 02:51:20 +0200 <EvanR> is it like "one process, one opening"
2025-06-02 02:51:56 +0200 <EvanR> come back with another process if you want more fifo
2025-06-02 02:52:11 +0200 <geekosaur> yes
2025-06-02 02:52:15 +0200 <EvanR> interesting
2025-06-02 02:52:54 +0200 <geekosaur> POSIX FIFO semantics come from UNIX System III/V and are rather strange
2025-06-02 02:54:02 +0200 <geekosaur> I only know of one program which made useful use of them: on System V R3, `cron` opened a private FIFO for read/write and listened for lines written by `crontab`, which told it to reread the specified crontab file
2025-06-02 02:55:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-06-02 02:56:15 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 02:56:36 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 02:57:59 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2025-06-02 02:58:38 +0200 <geekosaur> btw I think what causes that instant-EOF behavior is that the RTS opens it non-blocking, then `readFile` sets up an `unsafeInterleaveIO` which fails on the first read, which is passed back to you as EOF
2025-06-02 02:59:39 +0200 <geekosaur> lazy I/O doesn't hande exceptional conditions at all well
2025-06-02 03:02:39 +0200 <EvanR> I tried using openFile and hGetLine
2025-06-02 03:02:43 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:02:52 +0200 <geekosaur> so anyway FIFOs are broken, lazy I/O is broken, if you use them together you get to keep all the shattered pieces
2025-06-02 03:03:05 +0200 <EvanR> same result, first it blocks waiting for a writer, second time it suceeds immediately but hGetLine throws because EOF
2025-06-02 03:03:05 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:03:33 +0200 <EvanR> is it open blocking the first time and non-blocking the second time
2025-06-02 03:04:25 +0200 <geekosaur> it should always be non-blocking, I think? the RTS doesn't use blocking fds because that would block the whole process instead of just the running thread
2025-06-02 03:04:29 +0200 <EvanR> if this can't be adjusted I'm not sure how that crontab trick even worked
2025-06-02 03:04:41 +0200 <EvanR> opening the first time blocks if there's no writer yet
2025-06-02 03:05:02 +0200 <geekosaur> because only writers close it. cron kept it open O_RDWR|O_NONBLOCK continuously
2025-06-02 03:05:16 +0200 <EvanR> oh
2025-06-02 03:05:35 +0200 <EvanR> i'll try opening it RDWR
2025-06-02 03:05:40 +0200 <geekosaur> so it never saw EOF, it just relied on every "record" being a single line
2025-06-02 03:06:16 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 03:06:24 +0200 <EvanR> that made it behave
2025-06-02 03:07:58 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:08:23 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:08:30 +0200 <EvanR> it causes reader to not see EOF from writers closing
2025-06-02 03:08:43 +0200 <EvanR> which is good enough for government work
2025-06-02 03:09:10 +0200 <EvanR> but also closing and reopening a second time gives blocking behavior again
2025-06-02 03:09:17 +0200 <EvanR> weird
2025-06-02 03:11:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-06-02 03:14:50 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:15:13 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:16:23 +0200 <EvanR> if the RTS puts all file I/O through the select mechanism they wouldn't need to be non-blocking right
2025-06-02 03:16:47 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:16:49 +0200 <EvanR> since then it knows if a read or write would block
2025-06-02 03:17:11 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:18:28 +0200 <monochrom> It is still simpler to keep using the non-blocking mode.
2025-06-02 03:20:32 +0200 <EvanR> does it make any difference if it's all selected?
2025-06-02 03:21:09 +0200 <monochrom> Suppose two threads race to read from the same FD. Suppose select detects that data has arrived. Should the RTS wake up just one of them? Or both of them? Either way is easily broken under blocking mode because you don't know how much each thread actually reads.
2025-06-02 03:21:11 +0200 <geekosaur> yes, because it affects semantics of the FIFO, not just blocking-ness
2025-06-02 03:21:22 +0200 <geekosaur> also that
2025-06-02 03:21:47 +0200 <monochrom> I don't mean it is unsolvable. There is a way you can go out of your way to fool-proof that.
2025-06-02 03:22:01 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2025-06-02 03:22:03 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 03:22:03 +0200xff0x(~xff0x@2405:6580:b080:900:9dbe:32d6:8014:9bea) (Ping timeout: 268 seconds)
2025-06-02 03:22:19 +0200 <EvanR> the RTS doesn't just make 1 thread at a time accessing the FD
2025-06-02 03:22:22 +0200 <monochrom> Alternatively, non-blocking mode relieves you from working so hard, while still be completely safe and correct.
2025-06-02 03:22:22 +0200 <EvanR> ?
2025-06-02 03:23:48 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:24:11 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:25:24 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:25:25 +0200 <EvanR> k I messed up my original test by also pipe the fifo to stdin
2025-06-02 03:25:32 +0200 <EvanR> now the behavior with lazy I/O is consistent
2025-06-02 03:25:52 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:25:59 +0200 <EvanR> it *always* immediately returns an empty list
2025-06-02 03:26:45 +0200 <monochrom> OK, even better example without racing. 2 bytes have arrived. But the thread called read(fd, buf, 10). Blocking mode hangs that read() waiting for 8 more bytes (or EOF or error).
2025-06-02 03:26:58 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-06-02 03:27:16 +0200 <monochrom> GHC uses green threads so all of RTS hangs.
2025-06-02 03:27:35 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Read error: Connection reset by peer)
2025-06-02 03:28:58 +0200 <int-e> You should get a partial read; it's supposed to block only when no data is available at all.
2025-06-02 03:29:09 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 252 seconds)
2025-06-02 03:29:23 +0200 <EvanR> yes it returns less than requested in blocking mode
2025-06-02 03:29:27 +0200 <monochrom> At this point I hope you don't react like my students. They are lazy and switch to read(fd, buf, 1) and be egregiously inefficient. GHC RTS cannot afford to do that, people would riot.
2025-06-02 03:29:49 +0200 <monochrom> Ah OK my bad.
2025-06-02 03:30:02 +0200 <EvanR> that's why you have to repeatedly write until everything goes through since it might return less than what you wanted to write
2025-06-02 03:30:49 +0200 <int-e> fread() does that loop for you, so if you took your semantics from there you'd be right.
2025-06-02 03:31:56 +0200 <int-e> (you still get partial reads but only on actual errors or EOF)
2025-06-02 03:32:08 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:32:31 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:32:51 +0200 <int-e> Anyway. This shouldn't distract from the point that read *can* block if the fd is not in non-blocking mode, and allowing blind reads simplifies some code..
2025-06-02 03:35:07 +0200 <int-e> ...and break some foreign libraries that you might want to pass fds to as a bonus. ;-)
2025-06-02 03:36:21 +0200mange(~mange@user/mange) mange
2025-06-02 03:37:51 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 03:38:01 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2025-06-02 03:38:15 +0200_d0t(~{-d0t-}@user/-d0t-/x-7915216) {-d0t-}
2025-06-02 03:39:49 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:40:11 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:45:05 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-06-02 03:45:11 +0200haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2025-06-02 03:45:42 +0200haritz(~hrtz@152.37.64.162)
2025-06-02 03:45:43 +0200haritz(~hrtz@152.37.64.162) (Changing host)
2025-06-02 03:45:43 +0200haritz(~hrtz@user/haritz) haritz
2025-06-02 03:47:42 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:48:04 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:48:18 +0200jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-06-02 03:55:41 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 03:55:54 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 03:56:06 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 03:57:21 +0200j1n37(~j1n37@user/j1n37) (Read error: Connection reset by peer)
2025-06-02 04:00:26 +0200j1n37(~j1n37@user/j1n37) j1n37
2025-06-02 04:00:53 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-02 04:01:53 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 04:02:17 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 04:08:01 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Read error: Connection reset by peer)
2025-06-02 04:08:23 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 04:11:44 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 04:15:03 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 04:15:25 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 04:16:45 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-06-02 04:20:11 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 04:22:06 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 04:22:27 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 04:24:50 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-06-02 04:28:51 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 04:29:12 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 04:35:38 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 04:35:56 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-06-02 04:36:00 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)
2025-06-02 04:40:49 +0200merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-06-02 04:41:06 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr) (Remote host closed the connection)
2025-06-02 04:41:29 +0200sabathan2(~sabathan@amarseille-159-1-12-107.w86-203.abo.wanadoo.fr)