Author: rfm
Date: Wed May 21 08:36:09 2014
New Revision: 37896
URL: http://svn.gna.org/viewcvs/gnustep?rev=37896&view=rev
Log:
bugfix release
Modified:
libs/webservices/trunk/ChangeLog
libs/webservices/trunk/GNUmakefile
libs/webservices/trunk/GWSService.h
libs/webservices/trunk/GWSService.m
Modified: libs/webservices/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/webservices/trunk/ChangeLog?rev=37896&r1=37895&r2=37896&view=diff
==============================================================================
--- libs/webservices/trunk/ChangeLog (original)
+++ libs/webservices/trunk/ChangeLog Wed May 21 08:36:09 2014
@@ -1,7 +1,14 @@
+2014-05-21 Richard Frith-Macdonald <[email protected]>
+
+ * GWSService.m: Fix thread safety issue ... retain/autorelease self
+ before removing as client of a handle which has us retained.
+ * GNUmakefile: bump version for release
+ Version 0.6.1: bugfix release.
+
2014-05-08 Richard Frith-Macdonald <[email protected]>
* GNUmakefile: bump version for release
- Version 0.6.0: inew version for hadded hash functionality and bugfixes
+ Version 0.6.0: new version for hadded hash functionality and bugfixes
2014-05-01 Richard Frith-Macdonald <[email protected]>
Modified: libs/webservices/trunk/GNUmakefile
URL:
http://svn.gna.org/viewcvs/gnustep/libs/webservices/trunk/GNUmakefile?rev=37896&r1=37895&r2=37896&view=diff
==============================================================================
--- libs/webservices/trunk/GNUmakefile (original)
+++ libs/webservices/trunk/GNUmakefile Wed May 21 08:36:09 2014
@@ -21,7 +21,7 @@
-include config.make
PACKAGE_NAME = WebServices
-PACKAGE_VERSION = 0.6.0
+PACKAGE_VERSION = 0.6.1
WebServices_INTERFACE_VERSION=0.6
CVS_MODULE_NAME = gnustep/dev-libs/WebServices
CVS_TAG_NAME = WebServices
Modified: libs/webservices/trunk/GWSService.h
URL:
http://svn.gna.org/viewcvs/gnustep/libs/webservices/trunk/GWSService.h?rev=37896&r1=37895&r2=37896&view=diff
==============================================================================
--- libs/webservices/trunk/GWSService.h (original)
+++ libs/webservices/trunk/GWSService.h Wed May 21 08:36:09 2014
@@ -338,7 +338,7 @@
/** Sets extra headers to be sent as part of any HTTP or HTTPS request
* initiated by this service.<br />
* NB. These headers are set *after* the default headers set for content
- * type and user agent etc, so yu can override the values normally set
+ * type and user agent etc, so you can override the values normally set
* by the service.
*/
- (void) setHeaders: (NSDictionary*)headers;
Modified: libs/webservices/trunk/GWSService.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/webservices/trunk/GWSService.m?rev=37896&r1=37895&r2=37896&view=diff
==============================================================================
--- libs/webservices/trunk/GWSService.m (original)
+++ libs/webservices/trunk/GWSService.m Wed May 21 08:36:09 2014
@@ -1983,19 +1983,17 @@
/* Retain self during this process ... since removing self as a
* client of the handle could cause the receiver to be deallocated
*/
- RETAIN(self);
+ [[self retain] autorelease];
[_lock lock];
_completedIO = YES;
threadRem(&_ioThread);
[_lock unlock];
-
[handle removeClient: (id<NSURLHandleClient>)self];
if (NO == _cancelled)
{
[self _setProblem: reason];
}
[self _completed];
- RELEASE(self);
}
- (void) URLHandleResourceDidBeginLoading: (NSURLHandle*)sender
@@ -2005,11 +2003,14 @@
- (void) URLHandleResourceDidCancelLoading: (NSURLHandle*)sender
{
+ /* Retain self during this process ... since removing self as a
+ * client of the handle could cause the receiver to be deallocated
+ */
+ [[self retain] release];
[_lock lock];
_completedIO = YES;
threadRem(&_ioThread);
[_lock unlock];
-
[handle removeClient: (id<NSURLHandleClient>)self];
if (NO == _cancelled)
{
@@ -2031,12 +2032,15 @@
- (void) URLHandleResourceDidFinishLoading: (NSURLHandle*)sender
{
+ /* Retain self during this process ... since removing self as a
+ * client of the handle could cause the receiver to be deallocated
+ */
+ [[self retain] release];
[_lock lock];
_completedIO = YES;
threadRem(&_ioThread);
_stage = RPCParsing;
[_lock unlock];
-
[handle removeClient: (id<NSURLHandleClient>)self];
[_response release];
_response = [[handle availableResourceData] mutableCopy];
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs