[rfc] epoll final ( hopefully ) interface ...

Davide Libenzi (davidel@xmailserver.org)
Tue, 19 Nov 2002 21:46:18 -0800 (PST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--1168230223-874878964-1037770435=:959
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.4.44.0211192134111.959@blue1.dev.mcafeelabs.com>

This is how it looks my current interface file for epoll. Jamie suggestion
to remove the "fd" member from the "struct epoll_event" structure was a
good one and actually saved 25% of space, that matters with high event
transfer rates.

#ifndef _SYS_EPOLL_H
#define _SYS_EPOLL_H 1

#include <features.h>
#include <sys/types.h>
#include <sys/poll.h>

#define EPOLLIN POLLIN
#define EPOLLPRI POLLPRI
#define EPOLLOUT POLLOUT

#ifdef __USE_XOPEN
# define EPOLLRDNORM POLLRDNORM
# define EPOLLRDBAND POLLRDBAND
# define EPOLLWRNORM POLLWRNORM
# define EPOLLWRBAND POLLWRBAND
#endif

#ifdef __USE_GNU
# define EPOLLMSG POLLMSG
#endif

#define EPOLLERR POLLERR
#define EPOLLHUP POLLHUP

/* Valid opcodes to issue to epoll_ctl() */
#define EPOLL_CTL_ADD 1
#define EPOLL_CTL_DEL 2
#define EPOLL_CTL_MOD 3

struct epoll_event {
unsigned short events;
unsigned short revents;
__uint64_t obj;
};

__BEGIN_DECLS

int epoll_create(int size);
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event) __THROW;
int epoll_wait(int epfd, struct epoll_event *events, int maxevents,
int timeout) __THROW;

__END_DECLS

#endif /* #ifndef _SYS_EPOLL_H */

I also include the man pages that I edited to reflect the new interface.
Almost certainly they'll contain errors and reference to the old interface
API. I'd very much appreciate if someone that suck less then me in either
English and man page creation, will try to make them in better shape. Pls,
in the rare event that more than one would like to take the job, try to
keep you in sync avoiding work duplication. The major work IMHO should be
done on epoll.2

- Davide

--1168230223-874878964-1037770435=:959
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="epoll.2"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0211192133550.959@blue1.dev.mcafeelabs.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME="epoll.2"

LlwiDQouXCIgIGVwb2xsIGJ5IERhdmlkZSBMaWJlbnppICggZWZmaWNpZW50
IGV2ZW50IG5vdGlmaWNhdGlvbiByZXRyaWV2YWwgKQ0KLlwiICBDb3B5cmln
aHQgKEMpIDIwMDIgIERhdmlkZSBMaWJlbnppDQouXCINCi5cIiAgVGhpcyBw
cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkNCi5cIiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkNCi5cIiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCi5cIiAgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi5cIg0KLlwiICBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwNCi5cIiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi5cIiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZQ0KLlwiICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLg0KLlwiDQouXCIgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlDQouXCIgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQouXCIgIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B
ICAwMjExMS0xMzA3ICBVU0ENCi5cIg0KLlwiICBEYXZpZGUgTGliZW56aSA8
ZGF2aWRlbEB4bWFpbHNlcnZlci5vcmc+DQouXCINCi5cIg0KLlRIIEVQT0xM
IDIgIjIzIE9jdG9iZXIgMjAwMiIgTGludXggIkxpbnV4IFByb2dyYW1tZXIn
cyBNYW51YWwiDQouU0ggTkFNRQ0KZXBvbGwgXC0gZWRnZSB0cmlnZ2VyZWQg
SS9PIHJlYWRpbmVzcyBub3RpZmljYXRpb24gZmFjaWxpdHkNCi5TSCBTWU5P
UFNJUw0KLkIgI2luY2x1ZGUgPHN5cy9lcG9sbC5oPg0KLlNIIERFU0NSSVBU
SU9ODQpFZGdlIGJhc2VkIHZhcmlhbnQgb2YgDQouQlIgcG9sbCAoMikNCndo
aWNoIHNjYWxlcyB3ZWxsIHRvIGxhcmdlIG51bWJlcnMgb2Ygd2F0Y2hlZCBm
ZHMuIFRvIHNldCB1cCBhbmQgY29udHJvbCBhbg0KZXBvbGwgc2V0LCB0aHJl
ZSBjYWxscyBhcmUgcHJvdmlkZWQ6IA0KLkJSIGVwb2xsX2NyZWF0ZSAoMikg
LA0KLkJSIGVwb2xsX2N0bCAoMikgLA0KLkJSIGVwb2xsX3dhaXQgKDIpIC4N
Cg0KQW4gZXBvbGwgc2V0IGlzIGNvbm5lY3RlZCB0byBhIGZpbGUgZGVzY3Jp
cHRvciwgd2hpY2ggaXMgY3JlYXRlZCBieQ0KLkJSIGVwb2xsX2NyZWF0ZSAo
MikgLg0KSW50ZXJlc3QgZm9yIGNlcnRhaW4gZmlsZSBkZXNjcmlwdG9ycyBp
cyB0aGVuIHJlZ2lzdGVyZWQgdXNpbmcgDQouQlIgZXBvbGxfY3RsKDIpIC4N
CkZpbmFsbHksIHRoZSBhY3R1YWwgd2FpdCBpcyB0aGVuIHN0YXJ0ZWQgYnkg
DQouQlIgZXBvbGxfd2FpdCAoMikgLg0KDQpBIGdvb2QgYW5hbG9neSBpcyB0
byBjb25zaWRlciBlcG9sbCBhcyBhIHdhaXRxdWV1ZSwgd2hpY2ggaXMgYWxz
bw0KbGlrZSBhIGZ1dGV4LiBUbyB1c2UgYSB3YWl0cXVldWUgcHJvcGVybHkg
eW91IGhhdmUgdG8gZG8gdGhlc2UNCnRoaW5ncyBpbiB0aGUgb3JkZXIgc2hv
d246DQoNCi5TUg0KLlRQDQouQlIgMS4gDQpTZXQgdGhlIHRhc2sgc3RhdGUg
dG8gc3RvcHBlZC4NCi5UUA0KLkJSIDIuIA0KUmVnaXN0ZXIgeW91cnNlbGYg
b24gdGhlIHdhaXRxdWV1ZS4NCi5UUA0KLkJSIDMuIA0KQ2hlY2sgdGhlIGNv
bmRpdGlvbi4NCi5UUA0KLkJSIDQuIA0KSWYgdGhlIGNvbmRpdGlvbiBpcyBu
b3QgbWV0LCBzY2hlZHVsZS4NCi5TRQ0KDQouUFANCmVwb2xsIGlzIHNpbWls
YXIuIFRvIHdhaXQgZm9yIGEgY29uZGl0aW9uIG9uIGEgZmlsZSBkZXNjcmlw
dG9yLCANCnN1Y2ggYXMgcmVhZGFiaWxpdHksIHlvdSBtdXN0IGRvIHRoZXNl
IHRoaW5ncyBpbiB0aGUgb3JkZXIgc2hvd246DQouUFANCg0KLlNSDQouVFAN
Ci5CIDEuIA0KUmVnaXN0ZXIgaW50ZXJlc3QgYnkgdXNpbmcgZXBvbGxfY3Rs
ICgyKS4NCi5UUA0KLkIgMi4gDQpDaGVjayB0aGUgY29uZGl0aW9uIGJ5IGNh
bGxpbmcgcmVhZCAoMikuDQouVFANCi5CIDMuIA0KSWYgdGhlIGNvbmRpdGlv
biBpcyBub3QgbWV0IChpLmUuIHJlYWQoKSByZXR1cm5lZCBFQUdBSU4pLCBj
YWxsIA0KLkJSIGVwb2xsX3dhaXQgKDIpIA0KKCBpLmUuIGVxdWl2YWxlbnQg
dG8gc2NoZWR1bGUpLg0KLlNFDQoNCi5QUA0KZXBvbGwgYWxsb3dzIHlvdSB0
byBvcHRpbWl6ZSBieSByZWdpc3RlcmluZyBpbnRlcmVzdCBqdXN0IG9uY2Ug
DQppLmUuIHN0ZXBzIDIgYW5kIDMgbWF5IGJlIHJlcGVhdGVkIHdpdGhvdXQg
cmVwZWF0aW5nIHN0ZXAgMS4NCg0KSWYgeW91IGFyZSBjb25jZXJuZWQgYWJv
dXQgc3RhcnZhdGlvbiAoaS5lLiBvbmUgZmlsZSBkZXNjcmlwdG9yDQphbHdh
eXMgaGFzIG5ldyBkYXRhIHNvIG90aGVycyBkb24ndCBnZXQgc2VydmljZWQu
KSBkb24ndCBiZS4gDQpXaXRoIGVwb2xsIHlvdSBkbyBub3QgaGF2ZSB0byBj
b21wbGV0ZWx5IHJlYWQgb25lIGZpbGUgZGVzY3JpcHRvcg0KdW50aWwgeW91
IHNlZSBFQUdBSU4uIEFsbCB0aGF0IG1hdHRlcnMgdGhhdCB1bnRpbCB5b3Ug
c2VlIHRoZSBFQUdBSU4sDQp5b3VyIHVzZXIgc3BhY2UgZGF0YSBzdHJ1Y3R1
cmUgaGFzIGEgZmxhZyB0aGF0IHNheXMgdGhlIGZpbGUgZGVzY3JpcHRvciAN
CmlzIHN0aWxsIHJlYWRhYmxlLCBzbyBhbm90aGVyIGVwb2xsIGV2ZW50IGlz
IG5vdCBleHBlY3RlZCBvciByZXF1aXJlZCBmb3IgDQp0aGF0IGZpbGUgZGVz
Y3JpcHRvci4NCi5QUA0KDQouU0ggTk9URVMNCmVwb2xsIHNob3VsZCBub3Qg
YmUgcmVnYXJkZWQgYXMgYSBmYXN0ZXIgdmVyc2lvbiBvZiANCi5CUiBwb2xs
ICgyKQ0KYmVjYXVzZSBpdHMgc2VtYW50aWNzIGFyZSBmdW5kYW1lbnRhbGx5
IGRpZmZlcmVudC4gV2hlcmVhcyANCnBvbGwgYW5kIA0KLkJSIHNlbGVjdCAo
MikNCnJldHVybiBpbW1lZGlhdGVseSBpZiBhbnkgb2YgdGhlaXIgZmRzIGFy
ZSBhdmFpbGFibGUgZm9yIHJlYWRpbmcsDQp3cml0aW5nIG9yIGhhdmUgYW4g
ZXhjZXB0aW9uYWwgY29uZGl0aW9uLCBlcG9sbCBvbmx5IHJldHVybnMgaWYg
YQ0KY29uZGl0aW9uIGNoYW5nZXMuIA0KDQpCZWNhdXNlIG9mIHRoaXMsIGVw
b2xsIHNob3VsZCBiZSB1c2VkIHdpdGggbm9uLWJsb2NraW5nIHRvIGF2b2lk
DQp0aGF0IGEgYmxvY2tpbmcgcmVhZC93cml0ZSB3aWxsIHN0YXJ2ZSB5b3Vy
IHRhc2sgaGFuZGxpbmcgbXVsdGlwbGUNCmZpbGUgZGVjcmlwdG9ycy4gVGhl
IHN1Z2dlc3RlZCB3YXkgdG8gdXNlIGVwb2xsIGlzOg0KLlNSDQouVFAgDQou
QiBpDQp3aXRoIG5vbi1ibG9ja2luZyBmaWxlIGRlc2NyaXB0b3JzDQouVFAg
DQouQiBpaQ0KYnkgZ29pbmcgdG8gd2FpdCBmb3IgYW4gZXZlbnQgb25seSBh
ZnRlcg0KLkJSIHJlYWQgKDIpDQpvciANCi5CUiB3cml0ZSAoMikNCnJldHVy
biBFQUdBSU4NCi5TRQ0KLlNIIEVYQU1QTEUNCkluIHRoaXMgZXhhbXBsZSwg
bGlzdGVuZXIgaXMgYSBub24tYmxvY2tpbmcgc29ja2V0IG9uIHdoaWNoDQou
QlIgbGlzdGVuICgyKQ0KaGFzIGJlZW4gY2FsbGVkLiBUaGUgZnVuY3Rpb24g
ZG9fdXNlX2ZkKCkgd2lsbCB1c2UgdGhlIG5ldyByZWFkeQ0KZmlsZSBkZXNj
cmlwdG9yIHVudGlsIEVBR0FJTiBpcyByZXR1cm5lZCBieSBlaXRoZXINCi5C
UiByZWFkICgyKQ0Kb3INCi5CUiB3cml0ZSAoMikuDQpBbiBldmVudCBkcml2
ZW4gc3RhdGUgbWFjaGluZSBhcHBsaWNhdGlvbiBzaG91bGQsIGFmdGVyIGhh
dmluZyByZWNlaXZlZA0KRUFHQUlOLCByZWNvcmQgaXRzIGN1cnJlbnQgc3Rh
dGUgc28gdGhhdCBhdCB0aGUgbmV4dCBjYWxsIHRvIGRvX3VzZV9mZCgpDQp3
aWxsIGNvbnRpbnVlIHRvDQouQlIgcmVhZCAoMikNCm9yDQouQlIgd3JpdGUg
KDIpDQpmcm9tIHdoZXJlIGl0IGxlZnQuDQoNCi5uZg0KZm9yKDs7KSB7DQog
ICAgbmZkcyA9IGVwb2xsX3dhaXQoa2RwZmQsICZwZmRzLCAtMSk7DQoNCiAg
ICBmb3IobiA9IDA7IG4gPCBuZmRzOyArK24pIHsNCiAgICAgICAgaWYocGZk
c1tuXS5mZCA9PSBzKSB7DQogICAgICAgICAgICBjbGllbnQgPSBhY2NlcHQo
bGlzdGVuZXIsIChzdHJ1Y3Qgc29ja2FkZHIqKSZsb2NhbCwgJmFkZHJsZW4p
Ow0KICAgICAgICAgICAgaWYoY2xpZW50IDwgMCl7DQogICAgICAgICAgICAg
ICAgcGVycm9yKCJhY2NlcHQiKTsNCiAgICAgICAgICAgICAgICBjb250aW51
ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHNldG5vbmJsb2NraW5n
KGNsaWVudCk7DQogICAgICAgICAgICBpZiAoZXBvbGxfY3RsKGtkcGZkLCBF
UE9MTF9DVExfQURELCBjbGllbnQsIEVQT0xMSU4pIDwgMCkgew0KICAgICAg
ICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZXBvbGwgc2V0IGluc2VydGlv
biBlcnJvcjogZmQ9JWRcbiIsIGNsaWVudCk7DQogICAgICAgICAgICAgICAg
cmV0dXJuIC0xOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAg
IGVsc2UNCiAgICAgICAgICAgIGRvX3VzZV9mZChwZmRzW25dLmZkKTsNCiAg
ICB9DQp9DQouZmkNCg0KRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgaXQgaXMg
cG9zc2libGUgdG8gYWRkIHRoZSBmaWxlIGRlc2NyaXB0b3IgaW5zaWRlIHRo
ZQ0KZXBvbGwgaW50ZXJmYWNlICggDQouQiBFUE9MTF9DVExfQUREDQogKSBv
bmNlIGJ5IHNwZWNpZnlpbmcgKEVQT0xMSU4gfCBFUE9MTE9VVCkgd2l0aG91
dCBoYXZpbmcgdG8gY29udGludW91c2x5IHN3aXRjaA0KYmV0d2VlbiBFUE9M
TElOIGFuZCBFUE9MTE9VVCBjYWxsaW5nDQouQlIgZXBvbGxfY3RsICgyKQ0K
d2l0aA0KLkJSIEVQT0xMX0NUTF9BREQgLg0KLlNIIENPTkZPUk1JTkcgVE8N
Ci5CUiBlcG9sbCAoMikNCmlzIGEgbmV3IEFQSSBpbnRyb2R1Y2VkIGluIExp
bnV4IGtlcm5lbA0KLkJSIDIuNS40NCAuDQouU0ggIlNFRSBBTFNPIg0KLkJS
IGVwb2xsX2NyZWF0ZSAoMikNCi5CUiBlcG9sbF9jdGwgKDIpDQouQlIgZXBv
bGxfd2FpdCAoMikNCg0K
--1168230223-874878964-1037770435=:959
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="epoll_create.2"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0211192133551.959@blue1.dev.mcafeelabs.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME="epoll_create.2"

LlwiDQouXCIgIGVwb2xsIGJ5IERhdmlkZSBMaWJlbnppICggZWZmaWNpZW50
IGV2ZW50IG5vdGlmaWNhdGlvbiByZXRyaWV2YWwgKQ0KLlwiICBDb3B5cmln
aHQgKEMpIDIwMDIgIERhdmlkZSBMaWJlbnppDQouXCINCi5cIiAgVGhpcyBw
cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkNCi5cIiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkNCi5cIiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCi5cIiAgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi5cIg0KLlwiICBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwNCi5cIiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi5cIiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZQ0KLlwiICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLg0KLlwiDQouXCIgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlDQouXCIgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQouXCIgIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B
ICAwMjExMS0xMzA3ICBVU0ENCi5cIg0KLlwiICBEYXZpZGUgTGliZW56aSA8
ZGF2aWRlbEB4bWFpbHNlcnZlci5vcmc+DQouXCINCi5cIg0KLlRIIEVQT0xM
X0NSRUFURSAyICIyMyBPY3RvYmVyIDIwMDIiIExpbnV4ICJMaW51eCBQcm9n
cmFtbWVyJ3MgTWFudWFsIg0KLlNIIE5BTUUNCmVwb2xsX2NyZWF0ZSBcLSBv
cGVuIGFuDQouQiBlcG9sbA0KZmlsZSBkZXNjcmlwdG9yDQouU0ggU1lOT1BT
SVMNCi5CICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4NCi5zcA0KLkJSICJpbnQg
ZXBvbGxfY3JlYXRlKGludCAiIHNpemUgKQ0KLlNIIERFU0NSSVBUSU9ODQpP
cGVuIGFuDQouQiBlcG9sbA0KZmlsZSBkZXNjcmlwdG9yIGJ5IHJlcXVlc3Rp
bmcgdGhlIGtlcm5lbCB0byBhbGxvY2F0ZQ0KYW4gZXZlbnQgYmFja2luZyBz
dG9yZSBkaW1lbnNpb25lZCBmb3INCi5JIHNpemUNCmRlc2NyaXB0b3JzLiBU
aGlzIGlzIG5vdCB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSBiYWNraW5nIHN0
b3JlIGJ1dA0KanVzdCBhbiBoaW50IHRvIHRoZSBrZXJuZWwgYWJvdXQgaG93
IHRvIGRpbWVuc2lvbiBpbnRlcm5hbCBzdHJ1Y3R1cmVzLg0KVGhlIHJldHVy
bmVkIGZpbGUgZGVzY3JpcHRvciB3aWxsIGJlIHVzZWQgZm9yIGFsbCB0aGUg
c3Vic2VxdWVudCBjYWxscyB0byB0aGUNCi5CIGVwb2xsDQppbnRlcmZhY2Uu
IFRoZSBmaWxlIGRlc2NyaXB0b3IgcmV0dXJuZWQgYnkNCi5CUiBlcG9sbF9j
cmVhdGUgKDIpDQptdXN0IGJlIGNsb3NlZCBieSB1c2luZw0KLkJSIGNsb3Nl
ICgyKS4NCi5TSCAiUkVUVVJOIFZBTFVFIg0KT24gc3VjY2VzcywNCi5CUiBl
cG9sbF9jcmVhdGUgKDIpDQpyZXR1cm5zIGEgcG9zaXRpdmUgaW50ZWdlciBp
ZGVudGlmeWluZyB0aGUgZGVzY3JpcHRvci4NCk9uIGVycm9yLCBpdCByZXR1
cm5zIC0xIGFuZA0KLkkgZXJybm8NCmlzIHNldCBhcHByb3ByaWF0ZWx5Lg0K
LlNIIEVSUk9SUw0KLlRQDQouQiBFTk9NRU0NClRoZXJlIHdhcyBpbnN1ZmZp
Y2llbnQgbWVtb3J5IHRvIGNyZWF0ZSB0aGUga2VybmVsIG9iamVjdC4NCi5T
SCBDT05GT1JNSU5HIFRPDQouQlIgZXBvbGxfY3JlYXRlICgyKQ0KaXMgYSBu
ZXcgQVBJIGludHJvZHVjZWQgaW4gTGludXgga2VybmVsDQouQlIgMi41LjQ0
IC4NCi5TSCAiU0VFIEFMU08iDQouQlIgZXBvbGxfY3RsICgyKQ0KLkJSIGVw
b2xsX3dhaXQgKDIpDQouQlIgY2xvc2UgKDIpDQoNCg==
--1168230223-874878964-1037770435=:959
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="epoll_ctl.2"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0211192133552.959@blue1.dev.mcafeelabs.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME="epoll_ctl.2"

LlwiDQouXCIgIGVwb2xsIGJ5IERhdmlkZSBMaWJlbnppICggZWZmaWNpZW50
IGV2ZW50IG5vdGlmaWNhdGlvbiByZXRyaWV2YWwgKQ0KLlwiICBDb3B5cmln
aHQgKEMpIDIwMDIgIERhdmlkZSBMaWJlbnppDQouXCINCi5cIiAgVGhpcyBw
cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkNCi5cIiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkNCi5cIiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCi5cIiAgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi5cIg0KLlwiICBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwNCi5cIiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi5cIiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZQ0KLlwiICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLg0KLlwiDQouXCIgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlDQouXCIgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQouXCIgIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B
ICAwMjExMS0xMzA3ICBVU0ENCi5cIg0KLlwiICBEYXZpZGUgTGliZW56aSA8
ZGF2aWRlbEB4bWFpbHNlcnZlci5vcmc+DQouXCINCi5cIg0KLlRIIEVQT0xM
X0NUTCAyICIyMyBPY3RvYmVyIDIwMDIiIExpbnV4ICJMaW51eCBQcm9ncmFt
bWVyJ3MgTWFudWFsIg0KLlNIIE5BTUUNCmVwb2xsX2N0bCBcLSBjb250cm9s
bGVyIGludGVyZmFjZSBmb3IgYW4NCi5CIGVwb2xsDQpkZXNjcmlwdG9yDQou
U0ggU1lOT1BTSVMNCi5CICNpbmNsdWRlIDxzeXMvZXBvbGwuaD4NCi5zcA0K
LkJSICJpbnQgZXBvbGxfY3RsKGludCAiIGVwZmQgIiwgaW50ICIgb3AgIiwg
aW50ICIgZmQgIiwgc3RydWN0IGVwb2xsX2V2ZW50ICoiIGV2ZW50ICkNCi5T
SCBERVNDUklQVElPTg0KQ29udHJvbCBhbg0KLkIgZXBvbGwNCmRlc2NyaXB0
b3IsDQouSVIgZXBmZCAsDQpieSByZXF1ZXN0aW5nIHRoZSBvcGVyYXRpb24N
Ci5JUiBvcA0KYmUgcGVyZm9ybWVkIG9uIHRoZSB0YXJnZXQgZmlsZSBkZXNj
cmlwdG9yLA0KLklSIGZkIC4NClRoZQ0KLklSIGV2ZW50DQpkZXNjcmliZSB0
aGUgb2JqZWN0IGxpbmtlZCB0byB0aGUgZmlsZSBkZXNjcmlwdG9yDQouSVIg
ZmQgLg0KVGhlDQouQiBzdHJ1Y3QgZXBvbGxfZXZlbnQNCmlzIGRlZmluZWQg
YXMgOg0KLnNwDQoubmYNCglzdHJ1Y3QgZXBvbGxfZXZlbnQgew0KCQl1bnNp
Z25lZCBzaG9ydCBldmVudHM7CS8qIFJlcXVlc3RlZCBldmVudHMgKi8NCgkJ
dW5zaWduZWQgc2hvcnQgcmV2ZW50czsJLyogUmV0dXJuZWQgZXZlbnRzICov
DQoJCV9fdWludDY0X3Qgb2JqOwkJLyogT3BhcXVlIGRhdGEgb2JqZWN0ICov
DQoJfTsNCi5maQ0KDQpUaGUNCi5JIGV2ZW50cw0KYW5kIHRoZQ0KLkkgcmV2
ZW50cw0KbWVtYmVycyBhcmUgYml0IHNldHMgY29tcG9zZWQgdXNpbmcgdGhl
IGZvbGxvd2luZyBhdmFpbGFibGUgZXZlbnQNCnR5cGVzIDoNCi5UUA0KLkIg
RVBPTExJTg0KVGhlIGFzc29jaWF0ZWQgZmlsZSBpcyBhdmFpbGFibGUgZm9y
DQouQlIgcmVhZCAoMikNCm9wZWFydGlvbnMuDQouVFANCi5CIEVQT0xMT1VU
DQpUaGUgYXNzb2NpYXRlZCBmaWxlIGlzIGF2YWlsYWJsZSBmb3INCi5CUiB3
cml0ZSAoMikNCm9wZWFydGlvbnMuDQouVFANCi5CIEVQT0xMUFJJDQpUaGVy
ZSBpcyB1cmdlbnQgZGF0YSBhdmFpbGFibGUgZm9yDQouQlIgcmVhZCAoMikN
Cm9wZWFydGlvbnMuDQouVFANCi5CIEVQT0xMRVJSDQpFcnJvciBjb25kaXRp
b24gaGFwcGVuZWQgb24gdGhlIGFzc29jaWF0ZWQgZmlsZSBkZXNjcmlwdG9y
Lg0KLlRQDQouQiBFUE9MTEhVUA0KSGFuZyB1cCBoYXBwZW5lZCBvbiB0aGUg
YXNzb2NpYXRlZCBmaWxlIGRlc2NyaXB0b3IuDQouUFANCi5zcA0KVGhlDQou
QiBlcG9sbA0KaW50ZXJmYWNlIHN1cHBvcnRzIGFsbCBmaWxlIGRlc2NyaXB0
b3JzIHRoYXQgc3VwcG9ydHMNCi5CUiBwb2xsICgyKS4NClZhbGlkIHZhbHVl
cyBmb3IgdGhlDQouSVIgb3ANCnBhcmFtZXRlciBhcmUgOg0KLlNSDQouVFAN
Ci5CIEVQT0xMX0NUTF9BREQNCkFkZCB0aGUgdGFyZ2V0IGZpbGUgZGVzY3Jp
cHRvcg0KLkkgZmQNCnRvIHRoZQ0KLkIgZXBvbGwNCmRlc2NyaXB0b3INCi5J
IGVwZmQNCmFuZCBhc3NvY2lhdGUgdGhlIGV2ZW50DQouSSBldmVudA0Kd2l0
aCB0aGUgaW50ZXJuYWwgZmlsZSBsaW5rZWQgdG8NCi5JUiBmZCAuDQouVFAN
Ci5CIEVQT0xMX0NUTF9NT0QNCkNoYW5nZSB0aGUgZXZlbnQNCi5JIGV2ZW50
DQphc3NvY2lhdGVkIHRvIHRoZSB0YXJnZXQgZmlsZSBkZXNjcmlwdG9yDQou
SVIgZmQgLg0KLlRQDQouQiBFUE9MTF9DVExfREVMDQpSZW1vdmUgdGhlIHRh
cmdldCBmaWxlIGRlc2NyaXB0b3INCi5JIGZkDQpmcm9tIHRoZQ0KLkIgZXBv
bGwNCmZpbGUgZGVzY3JpcHRvciwNCi5JUiBlcGZkIC4NCi5TRQ0KLlNIICJS
RVRVUk4gVkFMVUUiDQpPbiBzdWNjZXNzLCANCi5CUiBlcG9sbF9jdGwgKDIp
DQpyZXR1cm5zIHplcm8uICBPbiBlcnJvciwgaXQgcmV0dXJucyBcLTEgYW5k
DQouSSBlcnJubw0KaXMgc2V0IGFwcHJvcHJpYXRlbHkuDQouU0ggRVJST1JT
DQouVFANCi5CIEVCQURGDQpUaGUNCi5JIGVwZmQNCmZpbGUgZGVzY3JpcHRv
ciBpcyBub3QgYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3IuDQouVFANCi5CIEVQ
RVJNDQpUaGUgdGFyZ2V0IGZpbGUNCi5JIGZkDQppcyBub3Qgc3VwcG9ydGVk
IGJ5DQouQlIgZXBvbGwgLg0KLlRQDQouQiBFSU5WQUwNClRoZSBzdXBwbGll
ZCBmaWxlIGRlc2NyaXB0b3IsDQouSVIgZXBmZCAsDQppcyBub3QgYW4NCi5C
IGVwb2xsDQpmaWxlIGRlc2NyaXB0b3IsIG9yIHRoZSByZXF1ZXN0ZWQgb3Bl
cmF0aW9uDQouSSBvcA0KaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGludGVy
ZmFjZS4NCi5UUA0KLkIgRU5PTUVNDQpUaGVyZSB3YXMgaW5zdWZmaWNpZW50
IG1lbW9yeSB0byBoYW5kbGUgdGhlIHJlcXVlc3RlZA0KLkkgb3ANCmNvbnRy
b2xsZXIgb3BlcmF0aW9uLg0KLlNIIENPTkZPUk1JTkcgVE8NCi5CUiBlcG9s
bF9jdGwgKDIpDQppcyBhIG5ldyBBUEkgaW50cm9kdWNlZCBpbiBMaW51eCBr
ZXJuZWwNCi5CUiAyLjUuNDQgLg0KLlNIICJTRUUgQUxTTyINCi5CUiBlcG9s
bF9jcmVhdGUgKDIpDQouQlIgZXBvbGxfd2FpdCAoMikNCg0K
--1168230223-874878964-1037770435=:959
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="epoll_wait.2"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.44.0211192133553.959@blue1.dev.mcafeelabs.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME="epoll_wait.2"

LlwiDQouXCIgIGVwb2xsIGJ5IERhdmlkZSBMaWJlbnppICggZWZmaWNpZW50
IGV2ZW50IG5vdGlmaWNhdGlvbiByZXRyaWV2YWwgKQ0KLlwiICBDb3B5cmln
aHQgKEMpIDIwMDIgIERhdmlkZSBMaWJlbnppDQouXCINCi5cIiAgVGhpcyBw
cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vciBtb2RpZnkNCi5cIiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkNCi5cIiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCi5cIiAgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCi5cIg0KLlwiICBUaGlzIHBy
b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwNCi5cIiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCi5cIiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZQ0KLlwiICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLg0KLlwiDQouXCIgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlDQouXCIgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQouXCIgIEZvdW5kYXRpb24s
IEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1B
ICAwMjExMS0xMzA3ICBVU0ENCi5cIg0KLlwiICBEYXZpZGUgTGliZW56aSA8
ZGF2aWRlbEB4bWFpbHNlcnZlci5vcmc+DQouXCINCi5cIg0KLlRIIEVQT0xM
X1dBSVQgMiAiMjMgT2N0b2JlciAyMDAyIiBMaW51eCAiTGludXggUHJvZ3Jh
bW1lcidzIE1hbnVhbCINCi5TSCBOQU1FDQplcG9sbF93YWl0IFwtIHdhaXQg
Zm9yIGFuIEkvTyBldmVudCBvbiBhbg0KLkIgZXBvbGwNCmZpbGUgZGVzY3Jp
cHRvcg0KLlNIIFNZTk9QU0lTDQouQiAjaW5jbHVkZSA8c3lzL2Vwb2xsLmg+
DQouc3ANCi5CUiAiaW50IGVwb2xsX3dhaXQoaW50ICIgZXBmZCAiLCBzdHJ1
Y3QgZXBvbGxfZXZlbnQgKiAiIGV2ZW50cyAiLCBpbnQgIiBtYXhldmVudHMg
IiwgaW50ICIgdGltZW91dCkNCi5TSCBERVNDUklQVElPTg0KV2FpdCBmb3Ig
ZXZlbnRzIG9uIHRoZQ0KLkIgZXBvbGwNCmZpbGUgZGVzY3JpcHRvcg0KLkkg
ZXBmZA0KZm9yIGEgbWF4aW11bSB0aW1lIG9mDQouSSB0aW1lb3V0DQptaWxs
aXNlY29uZHMuIFRoZSBtZW1vcnkgYXJlYSBwb2ludGVkIGJ5DQouSSBldmVu
dHMNCndpbGwgY29udGFpbiB0aGUgZXZlbnRzIChzZWUNCi5CUiBlcG9sbF9j
dGwgKDIpKQ0KdGhhdCB3aWxsIGJlIGF2YWlsYWJsZSBmb3IgdGhlIGNhbGxl
ci4gVXAgdG8NCi5JIG1heGV2ZW50cw0Kd2lsbCBiZSByZXR1cm5lZCBieQ0K
LkJSIGVwb2xsX3dhaXQgKDIpLg0KVGhlDQouSSBtYXhldmVudHMNCnBhcmFt
ZXRlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiBTcGVjaWZ5aW5nIGEN
Ci5JIHRpbWVvdXQNCm9mIFwtMSB3aWxsIG1ha2UNCi5CUiBlcG9sbF93YWl0
ICgyKQ0Kd2FpdCBpbmRlZmluaXRlbHkuDQouU0ggIlJFVFVSTiBWQUxVRSIN
Ck9uIHN1Y2Nlc3MsIA0KLkJSIGVwb2xsX3dhaXQgKDIpDQpyZXR1cm5zIHRo
ZSBudW1iZXIgb2YgZmlsZSBkZXNjcmlwdG9ycyByZWFkeSBmb3IgdGhlIHJl
cXVlc3RlZCBJL08sIG9yIHplcm8NCmlmIG5vIGZpbGUgZGVzY3JpcHRvciBi
ZWNhbWUgcmVhZHkgZHVyaW5nIHRoZSByZXF1ZXN0ZWQNCi5JIHRpbWVvdXQN
Cm1pbGxpc2Vjb25kcy4gIE9uIGVycm9yLCBpdCByZXR1cm5zIFwtMSBhbmQN
Ci5JIGVycm5vDQppcyBzZXQgYXBwcm9wcmlhdGVseS4NCi5TSCBFUlJPUlMN
Ci5UUA0KLkIgRUJBREYNCi5JIGVwZmQNCmlzIG5vdCBhIHZhbGlkIGZpbGUg
ZGVzY3JpcHRvci4NCi5UUA0KLkIgRUlOVkFMDQpUaGUgc3VwcGxpZWQgZmls
ZSBkZXNjcmlwdG9yLA0KLklSIGVwZmQgLA0KaXMgbm90IGFuDQouQiBlcG9s
bA0KZmlsZSBkZXNjcmlwdG9yLiBPciwgdGhlDQouSSBtYXhldmVudHMNCnBh
cmFtZXRlciBpcyBsZXNzIG9yIGVxdWFsIHRvIHplcm8uDQouVFANCi5CIEVG
QVVMVA0KVGhlIG1lbW9yeSBhcmVhIHBvaW50ZWQgdG8gYnkNCi5JIGV2ZW50
cw0KaXMgbm90IGFjY2VzaWJsZSB3aXRoIHdyaXRlIHBlcm1pc3Npb25zLg0K
LlNIIENPTkZPUk1JTkcgVE8NCi5CUiBlcG9sbF93YWl0ICgyKQ0KaXMgYSBu
ZXcgQVBJIGludHJvZHVjZWQgaW4gTGludXgga2VybmVsDQouQlIgMi41LjQ0
IC4NCi5TSCAiU0VFIEFMU08iDQouQlIgZXBvbGxfY3JlYXRlICgyKQ0KLkJS
IGVwb2xsX2N0bCAoMikNCg0K
--1168230223-874878964-1037770435=:959--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/