# HG changeset patch # User Adam Chlipala # Date 1416163158 18000 # Node ID 1839df6ed755b4421ff48ecb13516d665240549b # Parent d77b0665ba7cde57cbc57acad1369805011fd967 uw_remoteSock() diff -r d77b0665ba7c -r 1839df6ed755 include/urweb/urweb_cpp.h --- a/include/urweb/urweb_cpp.h Sat Sep 20 13:55:25 2014 -0400 +++ b/include/urweb/urweb_cpp.h Sun Nov 16 13:39:18 2014 -0500 @@ -393,4 +393,7 @@ extern const char uw_begin_xhtml[], uw_begin_html5[]; +int uw_remoteSock(struct uw_context *); +void uw_set_remoteSock(struct uw_context *, int sock); + #endif diff -r d77b0665ba7c -r 1839df6ed755 src/c/http.c --- a/src/c/http.c Sat Sep 20 13:55:25 2014 -0400 +++ b/src/c/http.c Sun Nov 16 13:39:18 2014 -0500 @@ -89,6 +89,8 @@ sock = uw_dequeue(); } + uw_set_remoteSock(ctx, sock); + qprintf("Handling connection with thread #%d.\n", me); while (1) { diff -r d77b0665ba7c -r 1839df6ed755 src/c/urweb.c --- a/src/c/urweb.c Sat Sep 20 13:55:25 2014 -0400 +++ b/src/c/urweb.c Sun Nov 16 13:39:18 2014 -0500 @@ -476,6 +476,8 @@ char *output_buffer; size_t output_buffer_size; + + int remoteSock; }; size_t uw_headers_max = SIZE_MAX; @@ -559,6 +561,8 @@ ctx->output_buffer = malloc(1); ctx->output_buffer_size = 1; + ctx->remoteSock = -1; + return ctx; } @@ -646,6 +650,7 @@ ctx->amInitializing = 0; ctx->usedSig = 0; ctx->needsResig = 0; + ctx->remoteSock = -1; } void uw_reset_keep_request(uw_context ctx) { @@ -4458,3 +4463,11 @@ return s; } + +int uw_remoteSock(uw_context ctx) { + return ctx->remoteSock; +} + +void uw_set_remoteSock(uw_context ctx, int sock) { + ctx->remoteSock = sock; +}