How to compile kermit w/o buffers??? - Protocols

This is a discussion on How to compile kermit w/o buffers??? - Protocols ; Frank, I got side tracked with other tasks and failed to copy the information you sent on how to recompile the kermit with no buffers. Now the thread is no longer available. Can you please reply to me with your ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: How to compile kermit w/o buffers???

  1. How to compile kermit w/o buffers???

    Frank,

    I got side tracked with other tasks and failed to copy the information you
    sent on how to recompile the kermit with no buffers. Now the thread is no
    longer available. Can you please reply to me with your last correspondence
    to the thread below?

    Thanks in advance,

    Robert





    "Robert Simmons" wrote in message news:...

    > I tried the fork with the stdout and stdin unbuffered. But this had


    > no effect. Probably because as you wrote the echos and help text


    > output is buffered internally in kermit. Is there any way to flush


    > the buffer for echo and help text? Or set it so that these are not


    > buffered?


    >


    > Thanks for the advise on the script. I'll use it. The book I have is


    > outdated. I'll use the website for more up to date info.


    >


    > As for the looping send: We are sending the same file as a soak test


    > of the connection so we don't care about the content, just that the


    > connection stays up and the transfers complete.


    >


    > Thanks,


    > Robert


    >


    >


    > "Frank da Cruz" wrote in message


    > news:slrncnddme.qmr.fdc@sesame.cc.columbia.edu...


    > > On 2004-10-20, Robert Simmons wrote:


    > > : I am not piping the output of two processes to one file. I tried


    > > the


    > piping


    > > : of the output of only the kermit script to help debug the weird


    > behaviour I


    > > : was seeing in the output during the fork of the script from the


    > > C++


    > process.


    > > :


    > > : As you can see below the line "Hello and welcome to


    > csd_send_script.ksc!"


    > > : should be output well before "NO CARRIER" since it takes about 15


    > seconds


    > > : for NO CARRIER to be determined.


    > > :


    > > It's what I said: ECHO is buffered, whereas SET DIAL DISPLAY ON


    > > output is not. By the way, Kermit has had FOR (and WHILE) loops for


    > > many years, so you don't need the old SET COUNT / IF COUNT trick any


    > > more:


    > >


    > > : set count \%5


    > > ::loop


    > > : echo Sending File. Transfer Count: \v(count)\10


    > > : send \%6


    > > : if success echo Send File #\v(count) complete\10


    > > : if fail echo Failed Sending File #\v(count)


    > > : if count goto loop


    > >


    > > Why are you sending the same file repeatedly? Something like this


    > > looks more sensible:


    > >


    > > set flag off


    > > for \%i 1 \%5 1 {


    > > send \%6


    > > if success break


    > > echo "\%6: Failed - Try #\%i..."


    > > }


    > > if != \v(xferstatus) { ... } # 0 means success


    > >


    > > - Frank


    >


    >




  2. Re: How to compile kermit w/o buffers???

    Robert Simmons wrote:
    > Frank,


    > I got side tracked with other tasks and failed to copy the information you
    > sent on how to recompile the kermit with no buffers. Now the thread is no
    > longer available. Can you please reply to me with your last correspondence
    > to the thread below?


    http://makeashorterlink.com/?R29B11EA9
    Google has a very long memory.




    ---
    Clarence A Dold - Hidden Valley (Lake County) CA USA 38.8-122.5


  3. Re: How to compile kermit w/o buffers???

    On 2004-11-02, Robert Simmons wrote:
    : I got side tracked with other tasks and failed to copy the information you
    : sent on how to recompile the kermit with no buffers. Now the thread is no
    : longer available. Can you please reply to me with your last correspondence
    : to the thread below?
    :
    I can't seem to find it either but anyway, in the Unix version of Kermit,
    in the module ckutio.c, in routine concb(), nested within all sorts of
    confusing sequences of #ifdefs, you'll see (in several places):

    #ifndef NOSETBUF
    if (x > -1) {
    setbuf(stdout,NULL); /* Make console unbuffered. */
    debug(F100,"concb setbuf B","",0);
    }
    #endif /* NOSETBUF */

    This has a long and convoluted history. Briefly, on some platforms buffered
    output could not be used for console i/o for various reasons, so a setbuf()
    call was added. But it soon developed that on certain other platforms,
    unbuffered i/o could *not* be used because it was SOOOOOO SLOOOOOOOOOOOW, so
    the NOSETBUF macro was added to select this feature at compile time, and then
    -DNOSEBUF added as needed to different makefile entries. Eventually the
    platforms that needed the setbuf() call mostly vanished from the scene, so
    #define SETBUF was added in the ckcdeb.h header file for most builds. But
    then it became necessary for other reasons to be able to undo the -DNOSEBUF
    from the 'make' command line, so a second macro was added, -DNONOSETBUF. So
    first try this:

    make xxxxx "KFLAGS=-DNONOSETBUF"

    If that works, fine. If not, you'll have to see if the setbuf() call was
    actually compiled and executed. You can tell by starting Kermit with a debug
    log:

    kermit -d

    (just start it and exit). Then look in the debug.log file for "concb setbuf".
    If you find it then I would have to start wondering what setbuf() was good
    for. If you don't, then you'll have add a setbuf(stdout,NULL) call to
    concb() someplace where it will actually be compiled. Let me know what
    happens.

    - Frank

+ Reply to Thread