On Fri, May 15, 2009 at 2:17 AM, Hoyt Koepke <[email protected]> wrote:
> So the signature of your function has iovec **?  If it does, what that
> means is that it can modify the value of hdr_names nad hdr_values in
> your code, as you are giving pointers to them.  If so, try checking
> whether they change when you call the function.  On the other hand, if
> the function signature is iovec*, then you are doing it wrong and need
> to remove the &.  That would definitely call a segfault.
>

The sig is: struct iovec *hdr_names[], struct iovec *hdr_values[]

When I call the function with a single header name/value, that is,
arrays of a single iovec each, then it works. printing the addresses
of pointers and the strings they point to does not indicate that the
function changes anything.

When I call with two iovecs in the arrays, that is two header
name/values.... then the function call sigfaults and I can see if the
function did attaempt to change anything i passed.

I tried forcing things by changing the function signature to say
"struct iovec *hdr_values", and then removing the & when I call, it
sigfaults just the same.

> BTW, do you get any warnings during compilation?
>
It does not seem like I have any warning regarding the lines of code
surrounding this function call...


Thanks a lot.
Mohamed.
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to