!9IQChSjwSHXPPWTa:lix.systems

Lix

1192 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms329 Servers

Load older messages


SenderMessageTime
23 Jun 2026
@raitobezarius:matrix.orgraitobezariusthis will be burnout fuel15:50:05
@raitobezarius:matrix.orgraitobezariusthe other approach we will take which is to remove the asyncness of curl in lix should unblock our ability to re-upgrade15:50:26
@blokyk:matrix.orgzoë (@blokyk)yeah that's fair enough15:50:29
@raitobezarius:matrix.orgraitobezariusthen longer term, we remove curl15:50:34
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)This CURL_WRITEFUNC_PAUSE all over again?16:16:25
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) I do wonder how this does not blow up nix. We do it slightly differently and call curl_easy_pause(req, CURLPAUSE_RECV) inside the handler 16:17:53
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)(Which I found in some ancient mail thread to be the intended way to consume the data and not have it be delivered again)16:20:21
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)But I'm not sure whether it's not causing the same kinds of problems16:21:23
@llakala:matrix.orgllakalais curl vibecoding, or is this normal human stupidity?16:24:00
@k900:0upti.meK900curl is not vibecoding much16:25:49
@k900:0upti.meK900But their async API is significantly less battle tested16:25:55
@k900:0upti.meK900And getting async right in pure C is ... not very trivial16:26:08
@raitobezarius:matrix.orgraitobezariusyou don't do async H2 afaik?17:41:54
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)I mean, the consumer isn't an async stream, but the filetransfer does do h2 + pausing when streaming to multiple threads and doesn't do the old "block the whole curl thread when one transfer is slow"17:55:32
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)The whole pausing/unpausing is quite similar17:56:35
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) In terms of the only differences I can only see curl_easy_pause(req, CURLPAUSE_RECV) vs CURL_WRITEFUNC_PAUSE. Everything else is the same 17:58:16
@xokdvium:matrix.orgSergei Zimmerman (xokdvium) * In terms of the only differences (curl API usage) I can only see curl_easy_pause(req, CURLPAUSE_RECV) vs CURL_WRITEFUNC_PAUSE. Everything else is the same 17:59:10
@raitobezarius:matrix.orgraitobezariusyeah, this is what i mean by not doing async h218:22:39
@raitobezarius:matrix.orgraitobezariusi don't think we are hitting the same code paths in curl18:22:51
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Right, but that achieves effectively the same (modulo writing a bit larger than the buffer size)19:20:55
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)So if what we are doing doesn’t anger libcurl as much (big if) then might be worth a shot19:21:36
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @raitobezarius:matrix.org
yeah, this is what i mean by not doing async h2
I’m still not getting what you mean. Pausing this way still does the pausing of a single stream on the multiplexes h2 connection according to the docs
19:31:54
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)
In reply to @raitobezarius:matrix.org
yeah, this is what i mean by not doing async h2
* I’m still not getting what you mean. Pausing this way still does the pausing of a single stream on the multiplexed h2 connection according to the docs
19:32:20
@isabel:isabelroses.comisabel changed their profile picture.19:51:18
@isabel:isabelroses.comisabel changed their profile picture.19:51:24
@raitobezarius:matrix.orgraitobezariusi mean precisely that you are not using return values for pausing transfers19:53:42
@raitobezarius:matrix.orgraitobezariusit seems so19:54:59
@raitobezarius:matrix.orgraitobezariusexcept that curl disagrees at the impl level19:55:05
@raitobezarius:matrix.orgraitobezariusgiven how different this is in production19:55:10
@raitobezarius:matrix.orgraitobezariusand it's extremely frustrating that the two methods seems to differ only by "one is more respectful of buffer sizes" while completely failing atm19:55:57

Show newer messages


Back to Room ListRoom Version: 10