Skip to Content.
Sympa Menu

freetds - Re: [freetds] Heavy load patch for net.c

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: christos AT zoulas.com (Christos Zoulas)
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] Heavy load patch for net.c
  • Date: Fri, 11 Jan 2008 10:19:57 -0500

On Jan 11, 3:07pm, Frediano.Ziglio AT vodafone.com ("ZIGLIO, Frediano, VF-IT")
wrote:
-- Subject: Re: [freetds] Heavy load patch for net.c

| This is an updated patch that contain the if as you suggested to avoid
| overflow.
| It contains also fix for the other select in net.c. I didn't add
| tds_poll cause
| - it avoids to reinitialize (FD_ZERO) fd_set structs at every call if
| poll is not available
| - it's quite small so less problems and easy to backport
| It does not change pool but I don't think it's a big problem.
| If nobody objects I would backport it in a couple of day... you to get
| RC2 :)
|

- Why do you undef USE_POLL?
- From the poll(2) opengroup definition:

POLLERR
An error has occurred on the device or stream. This flag is
only valid in the revents bitmask; it is ignored in the events
member.

POLLHUP
The device has been disconnected. This event and POLLOUT are
mutually exclusive; a stream can never be writable if a hangup
has occurred. However, this event and POLLIN, POLLRDNORM,
POLLRDBAND or POLLPRI are not mutually exclusive. This flag is
only valid in the revents bitmask; it is ignored in the events
member.

So you should not use POLLIN|POLHUP in the read mask, just POLLIN is good
enough, and in the error mask, 0 should be ok.

christos




Archive powered by MHonArc 2.6.24.

Top of Page