Bug 57611

Summary: [GTK] Do not destroy WorkQueue event sources unless they have been cancelled
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Bug Depends on: 57540    
Bug Blocks:    
Attachments:
Description Flags
Patch none

Carlos Garcia Campos
Reported 2011-04-01 03:20:19 PDT
We are currently returning FALSE from performWork() when condition contains HUP or ERR which makes the source to be destroyed, but it's not removed from the event source list. When unregisterEventSourceHandler() is called the source might be destroyed already. To avoid that we can simply return TRUE from the callback unless it has been cancelled (condition = 0) which happens in unregisterEventSourceHandler().
Attachments
Patch (8.70 KB, patch)
2011-04-01 03:29 PDT, Carlos Garcia Campos
no flags
Carlos Garcia Campos
Comment 1 2011-04-01 03:29:23 PDT
Created attachment 87836 [details] Patch This patch applies on top of patch attached to bug #57540
Martin Robinson
Comment 2 2011-04-01 09:43:30 PDT
Comment on attachment 87836 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=87836&action=review Nice. > Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp:61 > if (!queue->m_isValid) > - return FALSE; > + return; It appears that Mac does not cancel the source either if the queue is invalid. Do you know in what cases this can happen?
Carlos Garcia Campos
Comment 3 2011-04-08 03:35:51 PDT
Note You need to log in before you can comment on or make changes to this bug.