[Libevent-users] How do i make a multi-threaded libevent
server?
liusifan
liusifan at 21cn.com
Fri May 18 00:02:40 EDT 2007
SGksIFNjb3R0IExhbWINCg0KSSd2ZSBtYWtlIGEgYmVuY2htYXJrIGZvciBzaW5nbGUtdGhyZWFk
ZWQgdnMuIG11bHRpLXRocmVhZGVkIA0KbGliZXZlbnQgYXBwcm9hY2hlcy4gVGhlIHNpbmdsZS10
aHJlYWRlZCBwcm9ncmFtIGlzIG1lbWNhY2hlZCAxLjIuMC4NClRoZSBtdWx0aS10aHJlYWRlZCBw
cm9ncmFtIGlzIHNwY2FjaGVkLg0KDQpzcGNhY2hlZCBpcyBhIHNlcnZlciB3aGljaCBpbXBsZW1l
bnRzIG1lbWNhY2hlZCBwcm90b2NvbC4NCk1vcmUgZGV0YWlsIGFib3V0IHNwY2FjaGVkLCBwbGVh
c2UgcmVmZXIgaXRzIGhvbWUgcGFnZToNCmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9zcGNhY2hl
ZC8NCg0KVXNpbmcgbWVtY2FjaGVkIGphdmEgY2xpZW50IGFzIGJlbmNobWFyayB0b29sOg0KaHR0
cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3NwY2FjaGVkL3dpa2kvYmVuY2htYXJrdG9vbA0KDQptZW1j
YWNoZWQgMS4yLjAgaXMgYSBzaW5nbGUtdGhyZWFkZWQgZXZlbnQtZHJpdmVuIHByb2dyYW0uDQpz
cGNhY2hlZCB1c2VzIGEgaGFsZi1zeW5jL2hhbGYtYXN5bmMgdGhyZWFkIHBvb2wsIGl0IGhhcyBh
IG1haW4NCnRocmVhZCB0byBwcm9jZXNzIEkvTyBldmVudCwgYW5kIGEgd29ya2VyIHRocmVhZCB0
byBwcm9jZXNzDQp0aGUgcmVhbCByZXF1ZXN0Lg0KDQpUaGUgdGVzdCBlbnZpcm9tZW50IGlzIDoN
CkhhcmR3YXJlOiBERUxMIDY0ME0gKCBDUFUgSW50ZWwgVDIzMDAsIFJBTSAxRyApDQpTb2Z0d2Fy
ZTogd2luZG93cyB4cCANCiAgICAgICAgICB2bXdhcmUgNS41LjEgKCBhbGxvY2F0ZSAxMjhNIFJB
TSApDQogICAgICAgICAgUmVkSGF0IDcuMihLZXJuZWwgMi40LjE4LTMpDQoNClRoZSB0ZXN0IHN0
ZXBzIGFyZToNCjEucmVzdGFydCB3aW5kb3dzIHhwIGFuZCB2bXdhcmUNCjIubGltaXQgbWVtY2Fj
aGVkIGFuZCBzcGNhY2hlZCBib3RoIGNhbiBvbmx5IGtlZXAgMTg1ODA4IG9iamVjdHMNCjMuc3Rh
cnQgbWVtY2FjaGVkIGFuZCBNZW1DYWNoZWRUaHJlYWRCZW5jaCANCiAgKCB0aGUgbWVtY2FjaGVk
IGFuZCBiZW5jaG1hcmsgdG9vbCBydW4gb24gdGhlIHNhbWUgdm13YXJlICkNCiAgYmFzaCQgbWVt
Y2FjaGVkIC1tIDk2DQo0LnN0b3AgbWVtY2FjaGVkLCBzdGFydCBzcGNhY2hlZCBhbmQgTWVtQ2Fj
aGVkVGhyZWFkQmVuY2gNCiAgYmFzaCQgc3BjYWNoZWQgLWMgMTg1ODA4ICANCg0KVGhlIHRlc3Qg
cmVzdWx0IGlzOg0KDQpGb3Igc2V0IG9wZXJhdGlvbjoNCm1lbWNhY2hlZCA6IHNwY2FjaGVkIC0t
IDQwMDAgOiAyNjAwICggPiA0IHRocmVhZHMgKQ0KDQpGb3IgZ2V0IG9wZXJhdGlvbjoNCm1lbWNh
Y2hlZCA6IHNwY2FjaGVkIC0tIDM1MDAgOiAyNDgwICggPiA0IHRocmVhZHMgKQ0KDQpEZXRhaWwg
dGVzdCByZXN1bHQ6DQoNCm1lbWNhY2hlZA0KICBQSUQgVVNFUiAgICAgUFJJICBOSSAgU0laRSAg
UlNTIFNIQVJFIFNUQVQgJUNQVSAlTUVNICAgVElNRSBDT01NQU5EDQoyMjY0MiB4eHh4eCAgICAg
MTUgICAwICAxMDBNICA2ME0gIDU0ODggUyAgICAgMC4wIDQ5LjIgIDE5OjI3IG1lbWNhY2hlZA0K
DQpiYXNoJCBqYXZhIGNvbS9kYW5nYS9NZW1DYWNoZWQvdGVzdC9NZW1DYWNoZWRUaHJlYWRCZW5j
aCA1MDAwMDAgMCAxMTIxMSAxDQpUaHJlYWQgIHN0YXJ0ICAgcnVucyAgICBzZXQgdGltZShtcykg
ICAgZ2V0IHRpbWUobXMpDQpNYWluICAgICAgICAgICAgNTAwMDAwICAxNjg5MjQgICAgICAgICAg
MTQ5MjM0DQogICAgICAgIFJlcVBlclNlY29uZCAgICBzZXQgLSAyOTU5ICAgICAgZ2V0IC0gMzM1
MA0KLS0NCmJhc2gkIGphdmEgY29tL2RhbmdhL01lbUNhY2hlZC90ZXN0L01lbUNhY2hlZFRocmVh
ZEJlbmNoIDI1MDAwMCAwIDExMjExIDINClRocmVhZCAgc3RhcnQgICBydW5zICAgIHNldCB0aW1l
KG1zKSAgICBnZXQgdGltZShtcykNCk1haW4gICAgICAgICAgICA1MDAwMDAgIDEzNTA1MSAgICAg
ICAgICAxNTM2MDANCiAgICAgICAgUmVxUGVyU2Vjb25kICAgIHNldCAtIDM3MDIgICAgICBnZXQg
LSAzMjU1DQotLQ0KYmFzaCQgamF2YSBjb20vZGFuZ2EvTWVtQ2FjaGVkL3Rlc3QvTWVtQ2FjaGVk
VGhyZWFkQmVuY2ggMTY2NjY2IDAgMTEyMTEgMw0KVGhyZWFkICBzdGFydCAgIHJ1bnMgICAgc2V0
IHRpbWUobXMpICAgIGdldCB0aW1lKG1zKQ0KTWFpbiAgICAgICAgICAgIDQ5OTk5OCAgMTQxMTIw
ICAgICAgICAgIDE1NjU5MQ0KICAgICAgICBSZXFQZXJTZWNvbmQgICAgc2V0IC0gMzU0MyAgICAg
IGdldCAtIDMxOTMNCi0tDQpiYXNoJCBqYXZhIGNvbS9kYW5nYS9NZW1DYWNoZWQvdGVzdC9NZW1D
YWNoZWRUaHJlYWRCZW5jaCAxMjUwMDAgMCAxMTIxMSA0DQpUaHJlYWQgIHN0YXJ0ICAgcnVucyAg
ICBzZXQgdGltZShtcykgICAgZ2V0IHRpbWUobXMpDQpNYWluICAgICAgICAgICAgNTAwMDAwICAx
MjMzNzAgICAgICAgICAgMTQyMTY5DQogICAgICAgIFJlcVBlclNlY29uZCAgICBzZXQgLSA0MDUy
ICAgICAgZ2V0IC0gMzUxNg0KLS0NCmJhc2gkIGphdmEgY29tL2RhbmdhL01lbUNhY2hlZC90ZXN0
L01lbUNhY2hlZFRocmVhZEJlbmNoIDEwMDAwMCAwIDExMjExIDUNClRocmVhZCAgc3RhcnQgICBy
dW5zICAgIHNldCB0aW1lKG1zKSAgICBnZXQgdGltZShtcykNCk1haW4gICAgICAgICAgICA1MDAw
MDAgIDEyNDExMSAgICAgICAgICAxNDIxNDcNCiAgICAgICAgUmVxUGVyU2Vjb25kICAgIHNldCAt
IDQwMjggICAgICBnZXQgLSAzNTE3DQotLQ0KYmFzaCQgamF2YSBjb20vZGFuZ2EvTWVtQ2FjaGVk
L3Rlc3QvTWVtQ2FjaGVkVGhyZWFkQmVuY2ggODMzMzMgMCAxMTIxMSA2DQpUaHJlYWQgIHN0YXJ0
ICAgcnVucyAgICBzZXQgdGltZShtcykgICAgZ2V0IHRpbWUobXMpDQpNYWluICAgICAgICAgICAg
NDk5OTk4ICAxMjM1MDQgICAgICAgICAgMTQxODU3DQogICAgICAgIFJlcVBlclNlY29uZCAgICBz
ZXQgLSA0MDQ4ICAgICAgZ2V0IC0gMzUyNA0KLS0NCmJhc2gkIGphdmEgY29tL2RhbmdhL01lbUNh
Y2hlZC90ZXN0L01lbUNhY2hlZFRocmVhZEJlbmNoIDcxNDI4IDAgMTEyMTEgNw0KVGhyZWFkICBz
dGFydCAgIHJ1bnMgICAgc2V0IHRpbWUobXMpICAgIGdldCB0aW1lKG1zKQ0KTWFpbiAgICAgICAg
ICAgIDQ5OTk5NiAgMTI0NzY3ICAgICAgICAgIDE0MjkzOQ0KICAgICAgICBSZXFQZXJTZWNvbmQg
ICAgc2V0IC0gNDAwNyAgICAgIGdldCAtIDM0OTcNCi0tDQpiYXNoJCBqYXZhIGNvbS9kYW5nYS9N
ZW1DYWNoZWQvdGVzdC9NZW1DYWNoZWRUaHJlYWRCZW5jaCA2MjUwMCAwIDExMjExIDgNClRocmVh
ZCAgc3RhcnQgICBydW5zICAgIHNldCB0aW1lKG1zKSAgICBnZXQgdGltZShtcykNCk1haW4gICAg
ICAgICAgICA1MDAwMDAgIDEyNDc0NiAgICAgICAgICAxNDI4ODcNCiAgICAgICAgUmVxUGVyU2Vj
b25kICAgIHNldCAtIDQwMDggICAgICBnZXQgLSAzNDk5DQotLQ0KYmFzaCQgamF2YSBjb20vZGFu
Z2EvTWVtQ2FjaGVkL3Rlc3QvTWVtQ2FjaGVkVGhyZWFkQmVuY2ggNTU1NTUgMCAxMTIxMSA5DQpU
aHJlYWQgIHN0YXJ0ICAgcnVucyAgICBzZXQgdGltZShtcykgICAgZ2V0IHRpbWUobXMpDQpNYWlu
ICAgICAgICAgICAgNDk5OTk1ICAxMjQ4MjEgICAgICAgICAgMTQzMjc4DQogICAgICAgIFJlcVBl
clNlY29uZCAgICBzZXQgLSA0MDA1ICAgICAgZ2V0IC0gMzQ4OQ0KLS0NCmJhc2gkIGphdmEgY29t
L2RhbmdhL01lbUNhY2hlZC90ZXN0L01lbUNhY2hlZFRocmVhZEJlbmNoIDUwMDAwIDAgMTEyMTEg
MTANClRocmVhZCAgc3RhcnQgICBydW5zICAgIHNldCB0aW1lKG1zKSAgICBnZXQgdGltZShtcykN
Ck1haW4gICAgICAgICAgICA1MDAwMDAgIDEyNDg2NSAgICAgICAgICAxNDMwODINCiAgICAgICAg
UmVxUGVyU2Vjb25kICAgIHNldCAtIDQwMDQgICAgICBnZXQgLSAzNDk0DQogICAgICAgIA0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCg0Kc3BjYWNoZWQNCiAgUElEIFVTRVIgICAgIFBSSSAgTkkgIFNJ
WkUgIFJTUyBTSEFSRSBTVEFUICVDUFUgJU1FTSAgIFRJTUUgQ09NTUFORA0KMjQ1MzYgeHh4ICAg
ICAgIDE1ICAgMCA3NDk0OCAgNzNNICAgNjA4IFMgICAgIDAuMCA1OS4yICAyNTozMSBzcGNhY2hl
ZA0KDQpiYXNoJCBqYXZhIGNvbS9kYW5nYS9NZW1DYWNoZWQvdGVzdC9NZW1DYWNoZWRUaHJlYWRC
ZW5jaCA1MDAwMDAgMCAxMTIxNiAxDQpUaHJlYWQgIHN0YXJ0ICAgcnVucyAgICBzZXQgdGltZSht
cykgICAgZ2V0IHRpbWUobXMpDQpNYWluICAgICAgICAgICAgNTAwMDAwICAxOTUxMzYgICAgICAg
ICAgMjA5MDk4DQogICAgICAgIFJlcVBlclNlY29uZCAgICBzZXQgLSAyNTYyICAgICAgZ2V0IC0g
MjM5MQ0KLS0NCmJhc2gkIGphdmEgY29tL2RhbmdhL01lbUNhY2hlZC90ZXN0L01lbUNhY2hlZFRo
cmVhZEJlbmNoIDI1MDAwMCAwIDExMjE2IDINClRocmVhZCAgc3RhcnQgICBydW5zICAgIHNldCB0
aW1lKG1zKSAgICBnZXQgdGltZShtcykNCk1haW4gICAgICAgICAgICA1MDAwMDAgIDE5OTgyMCAg
ICAgICAgICAyMTM1ODENCiAgICAgICAgUmVxUGVyU2Vjb25kICAgIHNldCAtIDI1MDIgICAgICBn
ZXQgLSAyMzQxDQotLQ0KYmFzaCQgamF2YSBjb20vZGFuZ2EvTWVtQ2FjaGVkL3Rlc3QvTWVtQ2Fj
aGVkVGhyZWFkQmVuY2ggMTY2NjY2IDAgMTEyMTYgMw0KVGhyZWFkICBzdGFydCAgIHJ1bnMgICAg
c2V0IHRpbWUobXMpICAgIGdldCB0aW1lKG1zKQ0KTWFpbiAgICAgICAgICAgIDQ5OTk5OCAgMTkw
MTM0ICAgICAgICAgIDIwMzE3MQ0KICAgICAgICBSZXFQZXJTZWNvbmQgICAgc2V0IC0gMjYyOSAg
ICAgIGdldCAtIDI0NjANCi0tDQpiYXNoJCBqYXZhIGNvbS9kYW5nYS9NZW1DYWNoZWQvdGVzdC9N
ZW1DYWNoZWRUaHJlYWRCZW5jaCAxMjUwMDAgMCAxMTIxNiA0DQpUaHJlYWQgIHN0YXJ0ICAgcnVu
cyAgICBzZXQgdGltZShtcykgICAgZ2V0IHRpbWUobXMpDQpNYWluICAgICAgICAgICAgNTAwMDAw
ICAxODkwOTIgICAgICAgICAgMjAyMTY2DQogICAgICAgIFJlcVBlclNlY29uZCAgICBzZXQgLSAy
NjQ0ICAgICAgZ2V0IC0gMjQ3Mw0KLS0NCmJhc2gkIGphdmEgY29tL2RhbmdhL01lbUNhY2hlZC90
ZXN0L01lbUNhY2hlZFRocmVhZEJlbmNoIDEwMDAwMCAwIDExMjE2IDUNClRocmVhZCAgc3RhcnQg
ICBydW5zICAgIHNldCB0aW1lKG1zKSAgICBnZXQgdGltZShtcykNCk1haW4gICAgICAgICAgICA1
MDAwMDAgIDE4OTQ1MiAgICAgICAgICAyMDA4OTMNCiAgICAgICAgUmVxUGVyU2Vjb25kICAgIHNl
dCAtIDI2MzkgICAgICBnZXQgLSAyNDg4DQotLQ0KYmFzaCQgamF2YSBjb20vZGFuZ2EvTWVtQ2Fj
aGVkL3Rlc3QvTWVtQ2FjaGVkVGhyZWFkQmVuY2ggODMzMzMgMCAxMTIxNiA2DQpUaHJlYWQgIHN0
YXJ0ICAgcnVucyAgICBzZXQgdGltZShtcykgICAgZ2V0IHRpbWUobXMpDQpNYWluICAgICAgICAg
ICAgNDk5OTk4ICAxODg3MDQgICAgICAgICAgMjAxMTAxDQogICAgICAgIFJlcVBlclNlY29uZCAg
ICBzZXQgLSAyNjQ5ICAgICAgZ2V0IC0gMjQ4Ng0KLS0NCmJhc2gkIGphdmEgY29tL2RhbmdhL01l
bUNhY2hlZC90ZXN0L01lbUNhY2hlZFRocmVhZEJlbmNoIDcxNDI4IDAgMTEyMTYgNw0KVGhyZWFk
ICBzdGFydCAgIHJ1bnMgICAgc2V0IHRpbWUobXMpICAgIGdldCB0aW1lKG1zKQ0KTWFpbiAgICAg
ICAgICAgIDQ5OTk5NiAgMTg5MjIwICAgICAgICAgIDIwMTM1NA0KICAgICAgICBSZXFQZXJTZWNv
bmQgICAgc2V0IC0gMjY0MiAgICAgIGdldCAtIDI0ODMNCi0tDQpiYXNoJCBqYXZhIGNvbS9kYW5n
YS9NZW1DYWNoZWQvdGVzdC9NZW1DYWNoZWRUaHJlYWRCZW5jaCA2MjUwMCAwIDExMjE2IDgNClRo
cmVhZCAgc3RhcnQgICBydW5zICAgIHNldCB0aW1lKG1zKSAgICBnZXQgdGltZShtcykNCk1haW4g
ICAgICAgICAgICA1MDAwMDAgIDE5MDI5MyAgICAgICAgICAyMDE2NjQNCiAgICAgICAgUmVxUGVy
U2Vjb25kICAgIHNldCAtIDI2MjcgICAgICBnZXQgLSAyNDc5DQotLQ0KYmFzaCQgamF2YSBjb20v
ZGFuZ2EvTWVtQ2FjaGVkL3Rlc3QvTWVtQ2FjaGVkVGhyZWFkQmVuY2ggNTU1NTUgMCAxMTIxNiA5
DQpUaHJlYWQgIHN0YXJ0ICAgcnVucyAgICBzZXQgdGltZShtcykgICAgZ2V0IHRpbWUobXMpDQpN
YWluICAgICAgICAgICAgNDk5OTk1ICAxOTExNTIgICAgICAgICAgMjAyMDA0DQogICAgICAgIFJl
cVBlclNlY29uZCAgICBzZXQgLSAyNjE1ICAgICAgZ2V0IC0gMjQ3NQ0KLS0NCmJhc2gkIGphdmEg
Y29tL2RhbmdhL01lbUNhY2hlZC90ZXN0L01lbUNhY2hlZFRocmVhZEJlbmNoIDUwMDAwIDAgMTEy
MTYgMTANClRocmVhZCAgc3RhcnQgICBydW5zICAgIHNldCB0aW1lKG1zKSAgICBnZXQgdGltZSht
cykNCk1haW4gICAgICAgICAgICA1MDAwMDAgIDE5MTM1MiAgICAgICAgICAyMDI1NzQNCiAgICAg
ICAgUmVxUGVyU2Vjb25kICAgIHNldCAtIDI2MTIgICAgICBnZXQgLSAyNDY4CQ0KDQoNCkJlc3Qg
cmVnYXJkc6OsDQoNCmxpdXNpZmFuDQoyMDA3LTA1LTE4DQoNCj4+Pk9uIE1heSAxMSwgMjAwNywg
YXQgODo0NiBBTSwgTmllbHMgUHJvdm9zIHdyb3RlOg0KPj4gSSB3b3VsZCByZWFsbHkgbGlrZSB0
byBzZWUgbWVhc3VyZW1lbnRzIG9uIHRoYXQuICAgRG8geW91IGhhdmUgYW55DQo+PiBncmFwaHMg
dGhhdCBzaG93IHRoZSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHNpbmdsZS10aHJl
YWRlZA0KPj4gYW5kIG11bHRpLXRocmVhZGVkIGltcGxlbWVudGF0aW9uPw0KPg0KPlNwZWFraW5n
IG9mIHdoaWNoLCBJJ3ZlIGJlZW4gbWVhbmluZyB0byBiZW5jaG1hcmsgc29tZSBzaW5nbGUtIA0K
PnRocmVhZGVkIHZzLiBtdWx0aS10aHJlYWRlZCBsaWJldmVudCBhcHByb2FjaGVzIGZvciBhIHdo
aWxlLCBidXQgIA0KPmhhdmVuJ3QgcmVhbGx5IGdvdHRlbiBhcm91bmQgdG8gd29ya2luZyB1cCBh
cHByb3ByaWF0ZSBiZW5jaG1hcmsgIA0KPnNvZnR3YXJlLg0KPg0KPkJ1dCBpdCBvY2N1cnMgdG8g
bWUuLi55b3UgaGF2ZSB0aG9zZSBuaWNlIGdyYXBocyBvbiB0aGUgbGliZXZlbnQgIA0KPndlYnBh
Z2Ugb2YgZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucy4gV2hhdCdkIHlvdSB1c2UgdG8gbWFrZSB0
aGF0PyAgDQo+TWF5YmUgaXQgY291bGQgYmUgYWRhcHRlZCBwcmV0dHkgZWFzaWx5Lg0KPg0KPi0t
IA0KPlNjb3R0IExhbWIgPGh0dHA6Ly93d3cuc2xhbWIub3JnLz4NCj4NCj4NCj5fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPkxpYmV2ZW50LXVzZXJzIG1h
aWxpbmcgbGlzdA0KPkxpYmV2ZW50LXVzZXJzQG1vbmtleS5vcmcNCj5odHRwOi8vbW9ua2V5Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL2xpYmV2ZW50LXVzZXJzDQo+DQo+DQoJCQkNCg0K
More information about the Libevent-users
mailing list