You can do this, and you have access to OSX, i do not

Zoran Vasiljevic wrote:

Am 04.04.2005 um 17:28 schrieb Vlad Seryakov:

I think it is safe for us to replace NS poll with attached implementation.


Great! Would you put this in or shoud I do it?
I have access to 10.2, 10.3 and 10.4 Mac OSX (this is one of the most important
platform for us, btw)...
Thanks you for finding this out...

Zoran



Stephen Deasey wrote:

I think OSX is the only poll() underachiever we care about. Sourceforge has 10.1 and 10.2 hosts you can compile and test on, if
you're interested:
http://sourceforge.net/docman/display_doc.php?docid=762&group_id=1
On Apr 3, 2005 4:44 PM, Vlad Seryakov <[EMAIL PROTECTED]> wrote:

I found this, looks like we can use it.

i made a copy, so if evrybody is okay i can replace this poll.

http://mail.python.org/pipermail/python-list/2001-October/069168.html

--
Vlad Seryakov
571 262-8608 office
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/

-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
naviserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/naviserver-devel


--
Vlad Seryakov
571 262-8608 office
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/
#ifndef HAVE_POLL

struct pollfd {
    int fd;
    short events;
    short revents;
};

#define POLLIN 001
#define POLLPRI 002
#define POLLOUT 004
#define POLLNORM POLLIN
#define POLLERR 010
#define POLLHUP 020
#define POLLNVAL 040

----------------------------------------
/*
 *  prt
 *
 *  Copyright 1994 University of Washington
 *
 *  Permission is hereby granted to copy this software, and to
 *  use and redistribute it, except that this notice may not be
 *  removed.  The University of Washington does not guarantee
 *  that this software is suitable for any purpose and will not
 *  be held liable for any damage it may cause.
 */

/*
**  emulate poll() for those platforms (Ultrix) that don't have it.
*/

#include <sys/types.h>
#include <sys/time.h>

int
poll(fds, nfds, timo)
    struct pollfd *fds;
    unsigned long nfds;
    int timo;
{
    struct timeval timeout, *toptr;
    fd_set ifds, ofds, efds, *ip, *op, *ep;
    int i, rc, n;
    FD_ZERO(&ifds);
    FD_ZERO(&ofds);
    FD_ZERO(&efds);
    for (i = 0, n = -1, op = ip = 0; i < nfds; ++i) {
    fds[i].revents = 0;
    if (fds[i].fd < 0)
        continue;
    if (fds[i].fd > n)
        n = fds[i].fd;
    if (fds[i].events & (POLLIN|POLLPRI)) {
        ip = &ifds;
        FD_SET(fds[i].fd, ip);
    }
    if (fds[i].events & POLLOUT) {
        op = &ofds;
        FD_SET(fds[i].fd, op);
    }
    FD_SET(fds[i].fd, &efds);
    }
    if (timo < 0)
    toptr = 0;
    else {
    toptr = &timeout;
    timeout.tv_sec = timo / 1000;
    timeout.tv_usec = (timo - timeout.tv_sec * 1000) * 1000;
    }
    rc = select(++n, ip, op, &efds, toptr);
    if (rc <= 0)
    return rc;

    for (i = 0, n = 0; i < nfds; ++i) {
    if (fds[i].fd < 0) continue;
    if (fds[i].events & (POLLIN|POLLPRI) && FD_ISSET(i, &ifds))
        fds[i].revents |= POLLIN;
    if (fds[i].events & POLLOUT && FD_ISSET(i, &ofds))
        fds[i].revents |= POLLOUT;
    if (FD_ISSET(i, &efds))
        /* Some error was detected ... should be some way to know. */
        fds[i].revents |= POLLHUP;
    }
    return rc;
}
#endif




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
naviserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

--
Vlad Seryakov
571 262-8608 office
[EMAIL PROTECTED]
http://www.crystalballinc.com/vlad/

Reply via email to