[freetds] How to retrieve network socket?

John D. Robertson john at rrci.com
Wed May 27 13:34:54 EDT 2015

On Wed, 27 May 2015 08:31:05 -0400
"John D. Robertson" <john at rrci.com> wrote:

> I can't seem to find how one goes about retrieving the network socket from DBPROCESS. For asynchronous queries, I'd like to submit the socket (among many other sockets) to select() to find out when there is data waiting to be read.

It looks like this works for a quick hack, but there should be an API call:


/* Get connected to server ... */

/* The first member of 'struct tds_dblib_dbprocess' is
 * is a 'struct tds_socket*', and the first member of
 * 'struct tds_socket' is the socket, an 'int' on all *nix systems.

int sock= **((int**)dbp);

/* There you go. */

John D. Robertson, Computer / Engineering Consultant
Robertson & Robertson Consultants, Inc.
3637 West Georgia Rd.
Pelzer, SC  29669

Phone: (864) 243-2436
Email: john at rrci.com
  WWW: http://www.rrci.com

More information about the FreeTDS mailing list