Or if you want this behaviour all the time, one call of
  setvbuf(mypipe,(char *)0,_IONBF,0);
should do the trick (much easier than remebering to have to call fflush()
all the time).

If not using streams, and just calling write(), then you probably don't have
to worry.

andrew

BTW, "system('sleep 1');" probably won't compile, and 'system("sleep 1");'
is bad news. Try "man 3 sleep" for more info.

> Assuming you're using file streams to write to the pipe, fflush() will
> do the trick.
>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] Behalf Of
>> [EMAIL PROTECTED]
>> Sent: Thursday, June 26, 2003 2:20 PM
>> To: pgsql hackers list
>> Subject: [HACKERS] A portable code question
>>
>>
>> In the little fix I came up with for psql last night, I need to be
>> able to ensure that something sent to a pipe (and then to stdout)
>> completes before issuing the prompt directly to stdout.
>>
>> I did this with: "system ('sleep 1');", but I'm fairly sure that is
>> not portable nor does it ENSURE completion.
>>
>> What's the proper way to do this?  And what's a good book on writing
>> portable code?
>> --
>> Mike Nolan
>>
>> ---------------------------(end of
>> broadcast)--------------------------- TIP 8: explain analyze is your
>> friend
>>
>
>
> ---------------------------(end of
> broadcast)--------------------------- TIP 7: don't forget to increase
> your free space map settings




---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to