Re: multiple symbols of select(), do they matter?
Re: multiple symbols of select(), do they matter?
- Subject: Re: multiple symbols of select(), do they matter?
- From: Jean-Daniel Dupas <email@hidden>
- Date: Sun, 7 Sep 2008 11:49:10 +0200
Le 7 sept. 08 à 10:59, Luke Daley a écrit :
On 07/09/2008, at 6:42 PM, Jean-Daniel Dupas wrote:
Why you do no simply call the matching function instead of using
the same select call for all variants ?
for example
int select_unix2003(int nfds, fd_set * __restrict readfds, fd_set *
__restrict writefds, fd_set * __restrict errorfds, struct timeval *
__restrict timeout) {
my_before_select();
int result;
int (*real_select)(int nfds, fd_set * __restrict readfds, fd_set *
__restrict writefds, fd_set * __restrict errorfds, struct timeval *
__restrict timeout) = dlsym(RTLD_NEXT, "select$UNIX2003");
result = real_select(nfds, readfds, writefds, errorfds, timeout);
my_after_select();
return result;
}
That's what I am looking to do, was more curious about what the
_actual_ differences are with the different symbols.
--
I don't know is there is a doc that explains all differences, but at
least, there is this:
$1050 => Mac OS X 10.5 and later behavior change
$DARWIN_EXTSN => Extended behavior beyond standards
$INODE64 => 64-bit ino_t values
$LDBL128 => 128-bit long double support (32-bit PowerPC only)
$UNIX2003 => UNIX™ conformance
$NOCANCEL => (used internally)
Generaly, the NOCANCEL variant is a variant that does not have posix
thread cancelation point (but should according to the standard).
UNIX2003 signifie a change in the function behavior. For select, this
is only a change in the way it handle the timeout argument. I think
one of the variant update it, but not the other.
If you realy want details about the changes, you may have a look at
the libc sources.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden