View Issue Details

IDProjectCategoryView StatusLast Update
0004091unrealircdpublic2012-10-14 11:20
ReportersyzopAssigned Tosyzop 
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
Product Version3.2.9 
Target Version3.2.10-rc1Fixed in Version3.2.10-rc1 
Summary0004091: Make curl use poll with USE_POLL
DescriptionSubject says it all: make curl use poll() instead of select() when USE_POLL is defined.

Function: url_do_transfers_async
Additional InformationAll 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.
TagsNo tags attached.
3rd party modules

Relationships

child of 0003915 resolvedsyzop Unreal3.2.10 TODO 
child of 0004301 resolvedsyzop Unreal3.2.10 TODO 

Activities

nenolod

2012-04-06 01:49

reporter   ~0016971

Seems that we can just use curl_multi_socket_action() to have a I/O loop agnostic system.

nenolod

2012-05-11 12:30

reporter   ~0017003

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.

syzop

2012-10-06 12:17

administrator   ~0017149

This issue is Release Critical. Needs to be fixed prior to a (test) release, for reason see 'Additional information'.

nenolod

2012-10-12 16:47

reporter   ~0017158

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

syzop

2012-10-13 14:16

administrator   ~0017160

yeah, it's fun. working on it at the moment...

syzop

2012-10-14 11:20

administrator   ~0017161

http://hg.unrealircd.com/hg/unreal/rev/32dca22d7deb

- Use poll() in the remote includes functions when USE_POLL is defined (0004091)

Issue History

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 View Revisions
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 nenolod Note Added: 0016971
2012-05-11 12:30 nenolod 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 nenolod 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