keesterbrugge
2019-1-3 09:03:05

@keesterbrugge has joined the channel


greg
2019-1-3 17:16:04

@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


mflatt
2019-1-3 17:19:03

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”.


greg
2019-1-3 17:19:31

Ah! Will try that. Thanks!


samth
2019-1-3 17:28:55

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


greg
2019-1-3 19:55:08

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.


soegaard2
2019-1-3 21:18:29

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


greg
2019-1-4 01:48:23

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?


greg
2019-1-4 01:49:28

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


greg
2019-1-4 01:59:29

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);


greg
2019-1-4 02:10:37

(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}.)


mflatt
2019-1-4 02:20:38

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


greg
2019-1-4 02:21:26

OK cool will do.


greg
2019-1-4 02:23:50

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