Skip to Content.
Sympa Menu

freetds - Some (other) patches

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: ZIGLIO Frediano <Frediano.Ziglio AT omnitelvodafone.it>
  • To: "Freetds (E-mail)" <freetds AT franklin.metalab.unc.edu>
  • Subject: Some (other) patches
  • Date: Mon, 27 May 2002 16:33:18 +0200

Time ago I made some patches for FreeTDS but I hadn't many time to check
it...
So I separate my patch on 6 patches....
1 - this patch use UCS-2LE conversion for iconv instead of UCS-2. This
should resolve some problem using big endian machine, but I haven't a big
endian machine to test with.
2 - only a small optimination on src/tds/token.c. It skip 4 octets using a
sinple call to tds_get_n (instead of tds_get_n and tds_get_byte)
3 - another optimization (src/tds/write.c). In tds_put_buf instead of use
malloc and build a buffer use two call to tds_put_n
4 - this patch fix some errors in src/tds/iconv.c. Conversion using iconv
was sligty different from C one (termination and other). Also fixed a
possible buffer overflow and use doxygen for function documentation
5 - if kernel buffer cannot contain all buffer is possible to not send only
part of packet (this should occur only on very long query such as long store
procedure creation or many insert together)
6 - for timeout you used select with 0 timeout looping and releasing cpu to
kernel at every kernel schedule. So you can waste a lot of cpu time. This
patch pass timeout to select so process is suspended until timeout, error or
signal (such as interrupt). Also remove some duplicated select and finish
code to check for EINTR error on select (this should be done on read/write
too)

freddy77

Attachment: all.tgz
Description: Binary data




Archive powered by MHonArc 2.6.24.

Top of Page