diff options
author | rowanbeentje <rowan@beent.je> | 2010-03-18 15:31:30 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2010-03-18 15:31:30 +0000 |
commit | a6ffcaa5e07bb286b06f761d902e44b7fefaaaed (patch) | |
tree | 02521369c8d4aade39dfa5eb2859a1b0afb629fd | |
parent | e2d9581fdcd4773cf23c0482beb3b5c6178b90bf (diff) | |
download | sequelpro-a6ffcaa5e07bb286b06f761d902e44b7fefaaaed.tar.gz sequelpro-a6ffcaa5e07bb286b06f761d902e44b7fefaaaed.tar.bz2 sequelpro-a6ffcaa5e07bb286b06f761d902e44b7fefaaaed.zip |
- Move streaming query result connection unlocking to the download thread rather than the data processing thread. This ensures the connection unlock is walys called - even when no data is present - thus addressing Issue #594. (Prior to r1931 manual memory management caught this case anyway)
-rw-r--r-- | Frameworks/MCPKit/MCPFoundationKit/MCPStreamingResult.m | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Frameworks/MCPKit/MCPFoundationKit/MCPStreamingResult.m b/Frameworks/MCPKit/MCPFoundationKit/MCPStreamingResult.m index fd7d181b..bf8a2599 100644 --- a/Frameworks/MCPKit/MCPFoundationKit/MCPStreamingResult.m +++ b/Frameworks/MCPKit/MCPFoundationKit/MCPStreamingResult.m @@ -193,9 +193,6 @@ // Update the connection's error statuses in case of error during content download [parentConnection updateErrorStatuses]; - // Unlock the connection and return - [parentConnection unlockConnection]; - connectionUnlocked = YES; return nil; } @@ -461,6 +458,10 @@ pthread_mutex_unlock(&dataFreeLock); } + // Unlock the parent connection now data has been retrieved + connectionUnlocked = YES; + [parentConnection unlockConnection]; + dataDownloaded = YES; [downloadPool drain]; } |