
@keesterbrugge has joined the channel

@mflatt After thinking more, I believe the best (least worst?) thing to do is allow setting a larger SO_RCVBUF. If a user cares, they can try to set it large enough to outlast a major GC.
I’m trying to add this myself — to at least verify it’s effective, before considering submitting a PR. Unfortunately I seem to be stuck with a build error, as described in the commit message for what I have so far: https://github.com/greghendershott/racket/commit/11490f456447fe7cb697b6fe9caf061035554b72

That’s a confusing build error message, and it ends up confusing because the error message at line 350 of “env.c” is written to stdout instead of stderr. (I’ll fix that.) The solution is to bump the primitive count in “schminc.h” and the version number in “schvers.h”.

Ah! Will try that. Thanks!

@greg note also some useful hints in racket/src/racket/README.txt

Thanks @samth and @mflatt. Built fine. Initial smoke test: Using a modest (?) 1 MB SO_RCVBUF is enough to survive a 50 – 100 msec major GC in my test application. I don’t want to “mission accomplished” jinx this, so I’m going to spend some more time with it. But I think I will have a PR at some point in the near future.

FWIW finally got around to documenting curves in MetaPict. http://docs.racket-lang.org/metapict/index.html#%28part._ref-curve%29

I notice my build failed for CS because my new rktio_udp_set_receiver_buffer
wasn’t available to udp-receive.rkt
. I think that’s because it’s missing from rktio.def
and rktio.inc
I’m trying to run rktio/parse.rkt
to regenerate, manually. 1. Is that correct I should run manually (make doesn’t do this)? 2. When I try to run manually, it errors at line 248 of rktio.h
: RKTIO_EXTERN void rktio_create_console();
Quick glance, I think that’s because the grammar doesn’t know how to handle empty params (that’s the only such decl). But I’m not confident how to fix the grammar. Also I probably shouldn’t fix that in a PR adding UDP receive buffer. :slightly_smiling_face: Is that something you could fix @mflatt (at your convenience) and I could rebase on your newer master
?

Or I could look at it more and try to fix the grammar, in another PR.

Oh derp. My C is super rusty. The parser is OK as-is if I change the line of rktio.h
to RKTIO_EXTERN void rktio_create_console(void);

(BTW I only mentioned two files above, but I do realize I need to use rktio/parse.rkt
to regenerate all three of rktio.{def inc rktl}
.)

@greg Thanks! I think it’s ok to include that repair to “rktio.h” with your commit.

OK cool will do.

is amused how many variants of C and C++ he’s learned… and forgotten… and not even tried past C99 or whatever