From 6bdd4a4ba9f13c65b972720a002f431e438332a2 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Thu, 30 Apr 2026 13:30:55 -0500 Subject: [PATCH] runtime: http_set_handler self-registers via dlsym MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El programs that define `fn handle_request(method, path, body) -> String` can now use http_serve directly without C-level glue. http_set_handler falls back to dlsym(RTLD_DEFAULT, name) when the named handler isn't already in the registry, picks up the El-compiled symbol, and registers it transparently. Closes the gap that made http_serve unusable from pure El. Verified with a real El server on :17890 — POST /hello with body returned {"method":"POST","path":"/hello","echo":"test body"} via curl. dist/platform/elc rebuilt; .prev3 preserved. --- dist/platform/elc | Bin 147272 -> 147320 bytes dist/platform/elc.prev3 | Bin 0 -> 147272 bytes el-compiler/runtime/el_runtime.c | 19 +++++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100755 dist/platform/elc.prev3 diff --git a/dist/platform/elc b/dist/platform/elc index 722711c4b472b2a96453bfd90a66627e70581788..14cd6eedbcce4faf52a425f0b358edffc305891b 100755 GIT binary patch delta 36352 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 Q(^b0QE=e%m4rY delta 36190 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 a#dqQh8}#id?a2^piGTO^Y6V&V0000qb|2FK diff --git a/dist/platform/elc.prev3 b/dist/platform/elc.prev3 new file mode 100755 index 0000000000000000000000000000000000000000..722711c4b472b2a96453bfd90a66627e70581788 GIT binary patch literal 147272 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 YA8|{6d8_&Mq(F9O{rB%#QK0e&0B #include #include +#include /* dlsym for http_set_handler fallback */ #include #include #include @@ -616,6 +617,24 @@ void http_set_handler(el_val_t name) { pthread_mutex_lock(&_http_handler_mu); free(_http_active_handler); _http_active_handler = el_strdup(n ? n : ""); + /* If the name is not yet in the registry, try dlsym lookup against + * the running binary's symbol table. Every El `fn name(...)` compiles + * to a global C symbol with that exact name, so El programs can self- + * register their own handlers just by calling http_set_handler("name"). */ + if (n && *n) { + int found = 0; + for (size_t i = 0; i < _http_handler_count; i++) { + if (strcmp(_http_handlers[i].name, n) == 0) { found = 1; break; } + } + if (!found) { + void* sym = dlsym(RTLD_DEFAULT, n); + if (sym && _http_handler_count < sizeof(_http_handlers) / sizeof(_http_handlers[0])) { + _http_handlers[_http_handler_count].name = el_strdup(n); + _http_handlers[_http_handler_count].fn = (http_handler_fn)sym; + _http_handler_count++; + } + } + } pthread_mutex_unlock(&_http_handler_mu); }