Hi,

With a few corrections, I got my setup to work with the development repository (1.3). I don't necessarily have the time to figure out what I was doing wrong with the 1.2 series of uWSGI. However, in my case, it is acceptable to run the development uWSGI in my environment.

I had used a similar idea as you did to buffer the data, but I still was having trouble reading it in the remote uWSGI instances (the routing uWSGI did write the data to the socket based on the return value, but I could only read the headers and not the content on the remote uWSGI). It might also be the case that I made too many changes and just need to start over with a fresh checkout of 1.2 ...

Thanks for your help.

--Jeff Van Voorst

# HG changeset patch
# User Jeff Van_Voorst <[email protected]>
# Date 1346694125 18000
# Node ID 3651afab092035aeebdafad0da219d9984a34085
# Parent  b33f027d10dd1a78e1871fe28cfb6d7b37474df0
Repaired size_t initialized with -1 and parameters order in function call

diff -r b33f027d10dd -r 3651afab0920 core/protocol.c
--- a/core/protocol.c   Sat Sep 01 11:42:42 2012 +0200
+++ b/core/protocol.c   Mon Sep 03 12:42:05 2012 -0500
@@ -475,7 +475,7 @@

        // transfer data from one socket to another
        if (pfd >= 0 && plen > 0) {
-               ret = uwsgi_pipe_sized(pfd, fd, timeout, plen);
+               ret = uwsgi_pipe_sized(pfd, fd, plen, timeout);
                if (ret < 0) return -1;
        }

diff -r b33f027d10dd -r 3651afab0920 core/utils.c
--- a/core/utils.c      Sat Sep 01 11:42:42 2012 +0200
+++ b/core/utils.c      Mon Sep 03 12:42:05 2012 -0500
@@ -4602,7 +4602,7 @@

 ssize_t uwsgi_pipe_sized(int src, int dst, size_t required, int timeout) {
         char buf[8192];
-        size_t written = -1;
+        size_t written = 0;
         ssize_t len;

         while(written < required) {

_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to