[Cvsnt] Build 58b, the Eclipse CVS Client and cvs_flusherr()

John Goehringer jgoehrin at sct.com
Thu Apr 11 12:20:48 BST 2002


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Look at line 6293 in server.c - that's the 'else if (server_active)'
inside of the cvs_flusherr() function.

If you were looking at the repository, did you get the
tag CVSNT_1_11_1_3_REL_57B?

John Goehringer

"Ullrich Pollaehne" <u.pollaehne at seeburger.de> wrote in message
news:3CB569D0.2020900 at seeburger.de...
> Hi John,
>
> I would like to patch the code since I want to use CVSNT and eclipse but
> I cannot find the code sequence in server.c. I do not have "else if
> (server_active)" neither in the 57b code nor in the current repository.
> I only find
> if (server_active && supported_response ("MT"))
> ...
> else
> ...
>
> Could it be that you added the whole else-if?
>
> Ullrich.
>
> John Goehringer wrote:
> > Hi,
> >
> > Been working with the Eclipse CVS client and the
> > 1.11.1.3 builds. It's been reported that the newest
> > Eclipse builds work ok with build 58b, but
> > we found a problem with doing checkouts.
> >
> > The checkout from Eclipse finishes without reporting
> > an error, but no files are fetched.
> >
> > Tracked this down to server.c/server_protocol()
> > getting a very large count_needed from buf_copy_counted(),
> > and never sending the output back to the client.
> >
> > The large count_needed is the int value of
> > 'Mod-', as in Mod-time 9 Oct 1997 17:50:00 -0000.
> >
> > The Eclipse CVS client does not support the "MT"
> > response, so in server.c/cvs_output_tagged()
> > cvs_output() is called to send to the client. cvs_output()
> > calls cvs_flusherr(), which calls buf_send_special_count().
> >
> > buf_send_special_count() prepends it's count as the first
> > data packet, chains any existing data from the passed
> > buffer to data->next, and calls buf_send_output().
> >
> > If there is data in the buf sent to buf_send_special_count(),
> > it is sent over the pipe without the leading count, so
> > server_protocol() ends up picking those first 4 bytes
> > (Mod-) as the count, a large number.
> >
> > My patch is to add buf_send_counted (protocol) to
> > cvs_flusherr() prior to buf_send_special_count (protocol, -2)
> >
> > so
> >
> >     else if (server_active)
> >     {
> >  /* make sure stderr is flushed before we send the flush count on the
> >   * protocol pipe
> >   */
> >  fflush (stderr);
> >  /* Send a special count to tell the parent to flush.  */
> >  buf_send_special_count (protocol, -2);
> >     }
> >
> > becomes
> >
> >     else if (server_active)
> >     {
> >  /* buf_send_special_count sends it's count only, so be sure to send
> >   * any current data with it's count first.
> >   */
> >     buf_send_counted (protocol);
> >  /* make sure stderr is flushed before we send the flush count on the
> >   * protocol pipe
> >   */
> >  fflush (stderr);
> >  /* Send a special count to tell the parent to flush.  */
> >  buf_send_special_count (protocol, -2);
> >     }
> >
> > John Goehringer
> >
> >
> >
> >
> >
> > _______________________________________________
> > Cvsnt mailing list
> > Cvsnt at cvsnt.org
> > http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs
>
>
> _______________________________________________
> Cvsnt mailing list
> Cvsnt at cvsnt.org
> http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs


_______________________________________________
Cvsnt mailing list
Cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs



More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook