This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Limit to size of pipe

David Rothenberger wrote:

chris writes:
> Hello!
> > Further to an earlier message I sent, I now attach an example. This > tries to send a message of a fixed sized down a pipe. Under windows I > can't seem to send much more than 25k down in one go, although I can > send more if I chop it up into sections. Under linux however I can send > as large amounts as I like. While it is possible to work around it, I > thought I would mention it in case it was easy to fix, just no-one had > requested it :)
> > > ------------
> Example program follows: setting MSGSIZE>25000ish on my computer causes > fail (ie pipeval=-1)
> ------------
> #include <unistd.h>
> #include <stdio.h>
> #define MSGSIZE 23000
> char *msg1 = "message";

I modified the program to allocate the message buffer to send on the
heap and to initialize the entire thing. The test seems to work for
any size at that point.

<snip program>

Thanks! I notice (by some fiddling) that it seems I have to instansiate (at least most of) the buffer before I send it. Is there some rule that you should instansiate memory before reading it? of course doing so is sensible, but I didn't know nessasary? Out of interest (because I couldn't actually find a 'mission plan'), what is the "plan" of Cygwin? to create a system wherebye any linux / unix program will compile without changes under windows? Or to simply make it much easier to convert but not try to support "stupid" activities?

Having said that, I've been convinced I should change the program I'm converting from *BSD to not send stupidly large mostly-empty buffers anyway :)


-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]