View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004091 | unreal | ircd | public | 2012-02-26 18:52 | 2012-10-14 11:20 |
Reporter | syzop | Assigned To | syzop | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Product Version | 3.2.9 | ||||
Target Version | 3.2.10-rc1 | Fixed in Version | 3.2.10-rc1 | ||
Summary | 0004091: Make curl use poll with USE_POLL | ||||
Description | Subject says it all: make curl use poll() instead of select() when USE_POLL is defined. Function: url_do_transfers_async | ||||
Additional Information | All functions need to use poll instead of select when USE_POLL is used: otherwise when they have an fd which is higher than FD_SETSIZE they will crash, read out-of-bounds, or not work at all. | ||||
Tags | No tags attached. | ||||
3rd party modules | |||||
|
Seems that we can just use curl_multi_socket_action() to have a I/O loop agnostic system. |
|
Looking at this a little further, it seems like we should just go the entire way and rip out the entire I/O code, but we'll make that a 3.3 thing. |
|
This issue is Release Critical. Needs to be fixed prior to a (test) release, for reason see 'Additional information'. |
|
This is convoluted, but to make a url_do_transfers_async() that works with USE_POLL, we need to do the following: - hook into curl's socket notification framework to update a pollfds array (which should be initialized to .fd = -1) - call curl_multi_socket_action() on each FD we alert on |
|
yeah, it's fun. working on it at the moment... |
|
http://hg.unrealircd.com/hg/unreal/rev/32dca22d7deb - Use poll() in the remote includes functions when USE_POLL is defined (0004091) |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-02-26 18:52 | syzop | New Issue | |
2012-02-26 18:52 | syzop | Relationship added | child of 0003915 |
2012-02-26 18:52 | syzop | Status | new => acknowledged |
2012-02-26 18:54 | syzop | Additional Information Updated | |
2012-02-26 18:54 | syzop | Product Version | 3.2.10-rc1 => 3.2.9 |
2012-03-06 08:47 | syzop | File Added: hai.txt | |
2012-03-06 08:47 | syzop | File Deleted: hai.txt | |
2012-04-06 01:49 |
|
Note Added: 0016971 | |
2012-05-11 12:30 |
|
Note Added: 0017003 | |
2012-10-06 12:17 | syzop | Note Added: 0017149 | |
2012-10-06 12:29 | syzop | Assigned To | => syzop |
2012-10-06 12:29 | syzop | Status | acknowledged => assigned |
2012-10-12 16:47 |
|
Note Added: 0017158 | |
2012-10-13 14:16 | syzop | Note Added: 0017160 | |
2012-10-14 11:20 | syzop | Note Added: 0017161 | |
2012-10-14 11:20 | syzop | Status | assigned => resolved |
2012-10-14 11:20 | syzop | Fixed in Version | => 3.2.10-rc1 |
2012-10-14 11:20 | syzop | Resolution | open => fixed |