Commit graph

75 commits

Author SHA1 Message Date
rfm
42fa1bf04a Protect against dealloc without init 2024-11-17 20:57:04 +00:00
rfm
f12eabad50 Fixup for dealloc of uninitialised instances 2024-11-17 16:55:54 +00:00
rfm
75049ec22e Replace lost check 2024-11-17 16:50:16 +00:00
rfm
6a723e5a87 Fixes for dealloc when init has not been called. 2024-11-17 16:41:59 +00:00
rfm
77c66e3d95 Fix leaks 2024-11-15 20:48:09 +00:00
rfm
bb57918f70 Protect against dealloc before init 2024-11-14 17:57:55 +00:00
rfm
6667842dd5 Update FSF address as requested by Gregory 2024-11-07 13:37:59 +00:00
Hugo Melder
012947f09e
NSOperationQueue: Proper names for worker threads (#437)
* NSOperationQueue: Give Worker Threads a name

* Update Changelog

* Remove empty string test
2024-09-08 16:54:01 +02:00
rfm
ed4e305026
NSURLSession rewrite (#422)
* clang-format: Do not use tabs

* Ignore clangd cache and compile_commands

* NSBlockOperation: Fix memory leak

* NSHTTPCookie: Fix expires date parsing

* NSHTTPCookie: Release DateFormatter after use

* NSOperation: Remove all objects at end of execution

* Reimplementation of NSURLSession

* NSURLSession: Update expiration dates in test

* Update ChangeLog

* Fix trivial compiler warning caused by missing import

* Import GSDispatch.h for definition of DISPATCH_QUEUE_SERIAL

* Import common.h early to avoid header conflict

* Fix import order to avoid conflicts and ensure we have correct localisation macro

* Check for presence of dispatch_cancel

* Cancel timer using dispatch_source_cancel() if dispatch_cancel() is missing.

* NSURLSession: Replace dispatch_io with dispatch_source in unit test HTTP server

---------

Co-authored-by: hmelder <service@hugomelder.com>
2024-08-16 14:08:41 +02:00
rfm
3fedf31c2d
Revert "NSURLSession Reimplementation (#411)"
This reverts commit 07233534e6.
2024-07-02 19:19:14 +01:00
Hugo Melder
07233534e6
NSURLSession Reimplementation (#411)
* clang-format: Do not use tabs

* Ignore clangd cache and compile_commands

* NSBlockOperation: Fix memory leak

* NSHTTPCookie: Fix expires date parsing

* NSOperation: Remove all objects at end of execution

* Reimplementation of NSURLSession

* Update ChangeLog
2024-07-02 15:58:48 +02:00
rfm
41d948b5bb patch to improve thread startup by Larry Campbell 2024-01-29 19:50:44 +00:00
Riccardo Mottola
5773700b93 some date cleanup for updated doc generation 2023-09-21 01:27:10 +02:00
Riccardo Mottola
0547b18d32 remove some useless ; in declarations 2023-09-21 00:55:10 +02:00
Richard Frith-Macdonald
560b1d19fb relax limit on maximum concurrent operations 2022-08-16 09:36:27 +01:00
Richard Frith-Macdonald
bed2935a7e change to avoid compiler warning 2022-01-04 12:57:55 +00:00
Frederik Seiffert
b4ae7f7486 Fix handling of concurrent NSOperations 2021-12-27 21:52:34 +01:00
Levin Li
5b151c5fa0 Do not call handler blocks if they are nil 2021-11-23 18:34:34 +08:00
Richard Frith-Macdonald
ea9aa71eeb Avoid compiler warnings on system with pseudo-blocks 2020-12-07 07:23:30 -05:00
Richard Frith-Macdonald
ba5b950fa5 fix retain/release error 2020-10-11 11:24:49 +01:00
Richard Frith-Macdonald
21839365a9 Remove unnecessary retain/release 2020-09-30 10:08:36 +01:00
Richard Frith-Macdonald
98dfa140ec added autorelease pool around each operation to catch any autoreleased
objects produced by the operation being executed. This should prevent
objects living until the end of the thread.
2020-09-30 09:56:24 +01:00
Richard Frith-Macdonald
41badcb417 Fix leak of new operation in -blockOperationWithBlock: method. Make -addExecutionBlock: ensure it works with an on-heap copy of its argument. Tidy code to have NSBlockOperation methods with normal formatting and alphabetical order. Tidy code to use standard macros for memory management. 2020-06-05 17:43:46 +01:00
Richard Frith-Macdonald
6d714c8ee1 Fix for Deadlock in NSOperationQueue #49: If an exception occurs when trying to detach thread, catch it and log it so that locking is not broken by the exception breaking out of the lock protected region. 2020-04-16 22:48:25 +01:00
Frederik Seiffert
cc56c9cc97 Fixed NSOperation completion block memory mgmt. 2020-04-09 09:24:43 +02:00
Gregory John Casamento
753c907938 Fix address for FSF and License name in all headers in base 2019-12-09 18:36:00 -05:00
Fred Kiefer
ec63f314a4
Merge pull request #64 from triplef/fix-nsoperation-kvo
Fixed NSOperation calling removeObserver more than once.
2019-08-14 17:40:48 +02:00
Frederik Seiffert
ae10f58dc4 Fixed NSOperation calling removeObserver more than once.
This would cause an error if/when -removeObserver:forKeyPath: is implemented to throw an error when unregistering non-registered observers.
2019-08-12 19:30:51 +02:00
Gregory John Casamento
2743a4e3fb Implement fred's suggestions 2019-08-06 10:04:17 -04:00
Gregory John Casamento
8d35169311 Eliminate redundant _internal variable 2019-08-05 00:00:55 -04:00
Gregory John Casamento
54b86e303b Fix issue with earlier versions of clang 2019-08-04 23:26:41 -04:00
Gregory John Casamento
2553b6d56d Add addOperationWithBlock: to NSOperationQueue 2019-08-02 13:29:42 -04:00
Gregory John Casamento
88dd60a8fc Complete code for NSBlockOperation, need to write tests 2019-08-02 05:20:59 -04:00
fredkiefer
d774dda8a7 * Source/GSXML.m (fatalErrorFunction): Use correct function to get
line number.
* Source/NSOperation.m (_execute): Surround with NS_DURING to free
lock on error.
2019-07-01 22:58:55 +02:00
Richard Frith-Macdonald
7380e850e4 minor whitespace tidyups 2018-12-04 11:09:18 +00:00
Richard Frith-Macdonald
43673452a5 locking debug/performance tweaks 2018-03-26 15:05:01 +01:00
Richard Frith-MacDonald
c6b8f4fb03 fix memory leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40433 72102866-910b-0410-8b05-ffd578937521
2017-04-03 20:23:31 +00:00
Richard Frith-MacDonald
9188a050ef fix for bug #47926
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@40007 72102866-910b-0410-8b05-ffd578937521
2016-07-18 09:51:35 +00:00
Richard Frith-MacDonald
1ed4da510b Locking simplifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39958 72102866-910b-0410-8b05-ffd578937521
2016-07-02 18:56:02 +00:00
Richard Frith-MacDonald
0c7237ec08 s390x portability fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39901 72102866-910b-0410-8b05-ffd578937521
2016-06-22 07:54:16 +00:00
Richard Frith-MacDonald
21d242b151 Fix retain/release error which caused a crash on removal of an old operation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39877 72102866-910b-0410-8b05-ffd578937521
2016-06-19 07:37:58 +00:00
Richard Frith-MacDonald
4a6d6225b9 tidied
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39738 72102866-910b-0410-8b05-ffd578937521
2016-05-10 17:03:02 +00:00
Richard Frith-MacDonald
00571cd74e fix potential deadlock
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38951 72102866-910b-0410-8b05-ffd578937521
2015-08-30 06:40:40 +00:00
Richard Frith-MacDonald
58f05fde30 Fix for logic of 'executing' state by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37763 72102866-910b-0410-8b05-ffd578937521
2014-03-25 10:29:35 +00:00
Richard Frith-MacDonald
1bd5683eea avoid needing to initialise main operation queue in main thread
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37555 72102866-910b-0410-8b05-ffd578937521
2014-01-07 16:15:33 +00:00
Richard Frith-MacDonald
ed09c55959 leak detection improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Richard Frith-MacDonald
da4f7056ca printf style format tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36799 72102866-910b-0410-8b05-ffd578937521
2013-07-02 15:46:26 +00:00
Niels Grewe
95e88e9a7e Remove leftover debugging statements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35008 72102866-910b-0410-8b05-ffd578937521
2012-03-27 15:37:52 +00:00
Richard Frith-MacDonald
cd57095d65 get code to compile/link again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35004 72102866-910b-0410-8b05-ffd578937521
2012-03-27 10:03:40 +00:00
Niels Grewe
132de12a73 Add completion block support to NSOperation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34996 72102866-910b-0410-8b05-ffd578937521
2012-03-26 14:47:07 +00:00