Merge commit '7621e2f8dec938cf48181c8b10afc9b01f444e68' into beta

This commit is contained in:
Ilya Laktyushin
2025-12-06 02:17:48 +04:00
commit 8344b97e03
28070 changed files with 7995182 additions and 0 deletions
@@ -0,0 +1,53 @@
#import "SThreadPoolTask.h"
@interface SThreadPoolTaskState : NSObject
{
@public
bool _cancelled;
}
@end
@implementation SThreadPoolTaskState
@end
@interface SThreadPoolTask ()
{
void (^_block)(bool (^)());
SThreadPoolTaskState *_state;
}
@end
@implementation SThreadPoolTask
- (instancetype)initWithBlock:(void (^)(bool (^)()))block
{
self = [super init];
if (self != nil)
{
_block = [block copy];
_state = [[SThreadPoolTaskState alloc] init];
}
return self;
}
- (void)execute
{
if (_state->_cancelled)
return;
SThreadPoolTaskState *state = _state;
_block(^bool
{
return state->_cancelled;
});
}
- (void)cancel
{
_state->_cancelled = true;
}
@end