ObjFW  History of src/OFThread.h of 452bdb4a5f026d53

History of file src/OFThread.h at check-in 452bdb4a5f026d53

2024-06-17
21:08
Always use <ObjFW/ObjFW.h> in documentation file: [0fc65e199a] check-in: [164f2fb4bf] user: js, branch: trunk, size: 9048 [annotate] [blame] [check-ins using] [diff]
2024-05-20
10:29
Move +[waitForConsoleVBlank] to OFThread file: [93ed835b5a] check-in: [684435a48d] user: js, branch: gamecontroller, size: 9051 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [c158340505] check-in: [7413a728a7] user: js, branch: trunk, size: 8784 [annotate] [blame] [check-ins using] [diff]
2024-02-03
08:53
Fix typos in documentation found by spell checker file: [ae2605e43f] check-in: [19f3948a26] user: js, branch: 1.0, size: 8576 [annotate] [blame] [check-ins using] [diff]
08:49
Fix typos in documentation found by spell checker file: [5de5608550] check-in: [f97dc452b1] user: js, branch: trunk, size: 8576 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [99dddf0f6e] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 8574 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [44ae8d6a81] check-in: [8939cbdb52] user: js, branch: trunk, size: 8574 [annotate] [blame] [check-ins using] [diff]
2022-10-23
16:21
Rename a few exceptions for consistency file: [b1484db738] check-in: [2872ce314d] user: js, branch: trunk, size: 8574 [annotate] [blame] [check-ins using] [diff]
2022-10-20
18:58
Document more exceptions file: [07323e0345] check-in: [7538082267] user: js, branch: trunk, size: 8574 [annotate] [blame] [check-ins using] [diff]
2022-08-29
20:15
OFThread: Rename threadBlock to block file: [878e01b6fc] check-in: [0cca95da46] user: js, branch: trunk, size: 7890 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [edfcfa680d] check-in: [1a86b8175b] user: js, branch: trunk, size: 7802 [annotate] [blame] [check-ins using] [diff]
2021-04-18
20:51
Rename everything in several smaller files file: [1a5414b6ff] check-in: [35de667566] user: js, branch: new-naming-convention, size: 7802 [annotate] [blame] [check-ins using] [diff]
2021-04-17
16:03
of_thread_t -> OFPlainThread file: [ae8279dba9] check-in: [65510fa56b] user: js, branch: new-naming-convention, size: 7796 [annotate] [blame] [check-ins using] [diff]
03:21
Rename all blocks file: [4486e81af4] check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 7785 [annotate] [blame] [check-ins using] [diff]
00:51
of_time_interval_t -> OFTimeInterval file: [ac920e666c] check-in: [8c0d76f782] user: js, branch: new-naming-convention, size: 7809 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [f4a6bc3a11] check-in: [374e1a1bfa] user: js, branch: trunk, size: 7813 [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
Use /** */ instead of /*! */ for documentation file: [a47e26d1ae] check-in: [163a4a5a2e] user: js, branch: trunk, size: 7902 [annotate] [blame] [check-ins using] [diff]
2020-09-26
21:58
Don't require __COUNTER__ for OF_RESERVE_IVARS

__COUNTER__ does not exist in GCC 4.2, and Apple GCC 4.2 is still the
newest compiler available for macOS 10.5. file: [e49332cd5c] check-in: [ef614a225d] user: js, branch: trunk, size: 7902 [annotate] [blame] [check-ins using] [diff]

2020-01-24
03:03
runtime: Correctly handle AR pool push during pop

Getting a pointer and increasing it until we reach the top pointer does
not work: Releasing an object can temporarily create new autorelease
pools, which can trigger resizing of "objects" using realloc, which can
move it to a different address, which will then lead to continuing to
iterate on a now invalid pointer.

This is now solved by using an index into "objects" instead. Since we're
now indexing for the pop, let's use indexes everywhere, as they're more
readable anyway.

While debugging this, I noticed that the last pool is popped quite
frequently, only for a new pool to be pushed immediately again. This
resulted in a free followed by a malloc every time. Instead, keep the
pool, but let OFThread explicitly say when to free everything. file: [4c0a8350b3] check-in: [e7f4f80e23] user: js, branch: trunk, size: 7892 [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
Update copyright file: [ccaa08b8db] check-in: [c7f0229795] user: js, branch: trunk, size: 7858 [annotate] [blame] [check-ins using] [diff]
2019-09-29
20:53
Reduce ivar scopes file: [c31c7a3537] check-in: [e0a330b377] user: js, branch: trunk, size: 7855 [annotate] [blame] [check-ins using] [diff]
19:48
Documentation fixes file: [156e47b532] check-in: [3be624ded9] user: js, branch: trunk, size: 7902 [annotate] [blame] [check-ins using] [diff]
19:35
Either restrict subclassing or reserve ivar space

This allows ABI stability with the fragile ABI. file: [1d8bb7f623] check-in: [496695d778] user: js, branch: trunk, size: 7898 [annotate] [blame] [check-ins using] [diff]

2019-09-01
18:22
Add +[OFThread isMainThread] file: [f2bf600216] check-in: [8a2fa8eff4] user: js, branch: trunk, size: 7877 [annotate] [blame] [check-ins using] [diff]
2019-08-11
18:56
Support sockets in multiple threads on AmigaOS file: [f242100e35] check-in: [a40f3fc829] user: js, branch: trunk, size: 7662 [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
Split threading.[hm] into multiple files

This allows the runtime to only link against the parts it needs, without
pulling in unnecessary parts like thread spawning, TLS and conditions. file: [dc390a6e23] check-in: [5358e9ea6a] user: js, branch: trunk, size: 7095 [annotate] [blame] [check-ins using] [diff]

2019-07-28
12:32
OFThread: Don't require of_thread_exit()

Some systems do not provide the functionality. file: [deb7104407] check-in: [b5430ac44f] user: js, branch: trunk, size: 7098 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [5c37148b66] check-in: [0509d7a844] user: js, branch: trunk, size: 7058 [annotate] [blame] [check-ins using] [diff]
2018-08-11
20:25
Add +[OFThread DNSResolver]

This returns the DNS resolver for the current thread. file: [76cb344740] check-in: [2fb0769744] user: js, branch: trunk, size: 7052 [annotate] [blame] [check-ins using] [diff]

2018-06-16
14:15
Wrap a few @public in #ifdefs file: [69e72c6c45] check-in: [7d86d2dd2b] user: js, branch: trunk, size: 6596 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [6257fe314c] check-in: [7e5c81e186] user: js, branch: trunk, size: 6612 [annotate] [blame] [check-ins using] [diff]
2017-11-18
18:50
Documentation: Use @brief for all properties file: [40cc1f154c] check-in: [cc3ad3ddd3] user: js, branch: trunk, size: 6589 [annotate] [blame] [check-ins using] [diff]
2017-11-04
20:54
Backport more nullability fixes file: [cd0a2c76ca] check-in: [903530213a] user: js, branch: 0.90, size: 6211 [annotate] [blame] [check-ins using] [diff]
2017-10-30
00:23
Add class properties where appropriate

This improves Swift compatibility. file: [8db864191c] check-in: [a2e849c681] user: js, branch: trunk, size: 6554 [annotate] [blame] [check-ins using] [diff]

2017-10-29
21:58
Convert methods to properties where appropriate

This improves Swift compatibility. file: [a03e0a91d4] check-in: [f3ccf14461] user: js, branch: trunk, size: 6187 [annotate] [blame] [check-ins using] [diff]

2017-10-17
00:33
Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. file: [42f39cebaf] check-in: [2f4e0df8be] user: js, branch: trunk, size: 6832 [annotate] [blame] [check-ins using] [diff]

2017-10-07
14:57
OFThread: Support setting the name while running file: [2fd0087f7e] check-in: [76ee8ab481] user: js, branch: trunk, size: 6804 [annotate] [blame] [check-ins using] [diff]
11:22
OFThread: Fix the name accidentally being readonly file: [f66e3d5e03] check-in: [2f6a0e5ba9] user: js, branch: trunk, size: 6184 [annotate] [blame] [check-ins using] [diff]
10:49
OFThread: Mark the thread block nullable file: [24f32e5db8] check-in: [3621719bc8] user: js, branch: trunk, size: 6188 [annotate] [blame] [check-ins using] [diff]
10:46
OFThread: Fix setting the name on the wrong thread

The name of the thread may only be set from the thread itself. So the
thread should read the property on start and set its name. file: [c358f93979] check-in: [1494d3f6f1] user: js, branch: trunk, size: 6153 [annotate] [blame] [check-ins using] [diff]

2017-09-26
21:53
Many nullability fixes file: [8bc0990f48] check-in: [52011fbfd6] user: js, branch: trunk, size: 6331 [annotate] [blame] [check-ins using] [diff]
2017-07-02
19:30
Fix tests/objc_sync file: [f3aa3dc787] check-in: [292b83bb90] user: js, branch: trunk, size: 6311 [annotate] [blame] [check-ins using] [diff]
2017-05-13
22:38
Reduce retain + autorelease file: [e4d351df51] check-in: [504e13cf00] user: js, branch: trunk, size: 6455 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

Casts are now written like types in variable declarations. file: [04bcc49824] check-in: [4af49a13c3] user: js, branch: trunk, size: 6426 [annotate] [blame] [check-ins using] [diff]

2017-04-30
13:35
Use nonatomic for properties and clean up

This changes retaining behavior, meaning properties are not returned
retained and autoreleased anymore, so a property returned from a getter
now needs to be manually retained and autoreleased before calling the
setter. However, this is rarely the case and not using atomic improves
performance. file: [5cd28cdb35] check-in: [0a73af49f0] user: js, branch: trunk, size: 6419 [annotate] [blame] [check-ins using] [diff]

2017-04-02
16:02
Avoid the anonymous namespace for ObjC++ with GCC file: [d6804b022e] check-in: [35934a9594] user: js, branch: trunk, size: 6414 [annotate] [blame] [check-ins using] [diff]
2017-02-04
17:45
Fix typos in comments and strings found by aspell file: [15dce17cf3] check-in: [5a31a537a1] user: js, branch: trunk, size: 6396 [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [4c510e12e2] check-in: [44f45c2e35] user: js, branch: trunk, size: 6386 [annotate] [blame] [check-ins using] [diff]

2016-03-28
16:50
Change the definition of thread priorities

The old definition was quite unpredictable and too platform-specific.
The new one defines -1.0 as lowest priority that still schedules, 0.0 as
the normal priority (meaning the same as the main thread) and +1.0 as
the highest priority that still allows getting preempted. file: [383f3c4912] check-in: [b4023e6bc0] user: js, branch: trunk, size: 6380 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [3ac85a8b66] check-in: [cec0f072f8] user: js, branch: 0.8, size: 6011 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [7293edf304] check-in: [2a27cf3000] user: js, branch: trunk, size: 5944 [annotate] [blame] [check-ins using] [diff]

2015-11-29
11:43
Make properties a requirement and clean up code

This increases the required GCC version from 4.0 to 4.6 (exception:
Apple GCC, which already supports this with >= 4.0 starting with OS X
10.5). Since even GCC 4.6 is really old by now, there is no point in
still supporting something even older and making the code ugly because
of that. While some hardware and OS support was dropped from GCC 4.6
compared to GCC 4.0, there is nothing in there that would be an
interesting target with the exception of BeOS maybe - but a port to BeOS
can also be achieved using the Haiku support. The other dropped OSes are
mostly old versions of OSes while newer ones are still being supported
(and those newer versions of those OSes still support the same
hardware). file: [cd0fc73b17] check-in: [48980f2297] user: js, branch: trunk, size: 5940 [annotate] [blame] [check-ins using] [diff]

2015-11-28
19:47
Minor documentation improvements file: [c270f45fee] check-in: [650b4be224] user: js, branch: trunk, size: 6009 [annotate] [blame] [check-ins using] [diff]
2015-11-21
18:35
Remove OF_NULLABLE / OF_NONNULL

Now that Clang switched to use _Nullable and _Nonnull instead of
__nullable / __nonnull, there is no longer a conflict with glibc, which
means we can just define _Nullable / _Nonnull to nothing if they are not
understood by the compiler (which did not work with __nullable /
__nonnull due to this conflict).

This also defines _Null_unspecified to nothing if unavailable. file: [5636f9d458] check-in: [d526d938d7] user: js, branch: trunk, size: 6005 [annotate] [blame] [check-ins using] [diff]

2015-06-14
10:45
Add OF_NONNULL / OF_NULLABLE and use that instead

Using __nonnull directly doesn't work on systems using glibc, as glibc
defines __nonnull as a parameterized define. While this does not fix the
problem of Clang introducing __nonnull even though it conflicts with
glibc, this at least means it's possible again to compile things with
versions of Clang that don't support __nonnull on systems with glibc. file: [81d5aa4cdd] check-in: [b7097a67b6] user: js, branch: trunk, size: 6007 [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
Add support for and use the new nullability file: [5030168140] check-in: [9e76144ef8] user: js, branch: trunk, size: 6006 [annotate] [blame] [check-ins using] [diff]
2015-06-12
23:59
Add support for and use the new ObjC generics file: [2d3c3b4342] check-in: [5329fe7c1a] user: js, branch: trunk, size: 5911 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [d6ac7e25ad] check-in: [cfd374b906] user: js, branch: trunk, size: 5879 [annotate] [blame] [check-ins using] [diff]
2014-07-19
16:27
OFThread: Configurable priority and stack size file: [c8632579ec] check-in: [c4f724070a] user: js, branch: trunk, size: 5873 [annotate] [blame] [check-ins using] [diff]
16:16
Add of_thread_set_name() file: [dbfdd8a5a4] check-in: [2c78c6570b] user: js, branch: trunk, size: 5094 [annotate] [blame] [check-ins using] [diff]
2014-05-14
20:45
Add C11 noreturn

If it's unavailable, it's defined to __attribute__((noreturn)).

Unfortunately, it cannot be used for ObjC methods, as noreturn is part
of the return type while __attribute__((noreturn)) needs to be at the
end for an ObjC method. To make matters worse, even GCC versions that
accept noreturn don't allow it for an ObjC method. Thus, the only thing
that can be done is to always use __attribute__((noreturn)) for ObjC
methods using the OF_METHOD_NORETURN define. file: [4ccbd9a433] check-in: [bac91ccede] user: js, branch: trunk, size: 5097 [annotate] [blame] [check-ins using] [diff]

2014-05-05
02:43
Add OF_NO_RETURN and OF_UNREACHABLE file: [bd27888ffe] check-in: [b885b6fdfa] user: js, branch: trunk, size: 5085 [annotate] [blame] [check-ins using] [diff]
2014-02-18
18:50
Documentation: Show correct imports file: [7e258abb92] check-in: [246cfe0807] user: js, branch: trunk, size: 5059 [annotate] [blame] [check-ins using] [diff]
2014-01-16
23:09
Add of_time_interval_t.

This is used instead for time intervals now instead of doubles. file: [42d02c0030] check-in: [dc31ce3d34] user: js, branch: trunk, size: 5009 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [384c6bb853] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 4987 [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:14
Add OF_REQUIRES_SUPER. file: [f1d325f290] check-in: [3ab5dace83] user: js, branch: trunk, size: 4981 [annotate] [blame] [check-ins using] [diff]
2013-09-15
18:51
OFAutoreleasePool: Free pool cache on thread exit. file: [9a4feafde7] check-in: [29e4d00225] user: js, branch: trunk, size: 4963 [annotate] [blame] [check-ins using] [diff]
2013-08-15
19:00
Move private methods into private headers. file: [79574f891b] check-in: [1d7a1cbca0] user: js, branch: trunk, size: 4949 [annotate] [blame] [check-ins using] [diff]
2013-07-28
21:07
Replace OFTLSKey w/ +[OFThread threadDictionary]. file: [1a40d77417] check-in: [1eaf875a88] user: js, branch: trunk, size: 4979 [annotate] [blame] [check-ins using] [diff]
2013-07-24
11:49
Improve documentation. file: [73a6ba9e6f] check-in: [7e5de0a086] user: js, branch: trunk, size: 5714 [annotate] [blame] [check-ins using] [diff]
2013-06-30
18:30
Rename -[initWithBlock:].

It is now called -[initWithThreadBlock:] in order to prevent method
signature conflicts.

This also fixes a missing release for the thread block. file: [a1b30840b5] check-in: [a3639589d3] user: js, branch: trunk, size: 5571 [annotate] [blame] [check-ins using] [diff]

2013-04-26
20:40
Make sure +[OFThread sleep*] is always available.

This means that even if --disable-threads has been specified, it is
possible to use +[OFThread sleep*] to sleep the current (and only)
thread. file: [b4c8773e10] check-in: [71d45a29d1] user: js, branch: trunk, size: 5523 [annotate] [blame] [check-ins using] [diff]

2013-03-08
22:44
Document the block types.

This also removes "bool *stop" from some blocks where it does not make
sense. file: [b48c7d5a0b] check-in: [e8473b9db8] user: js, branch: trunk, size: 5380 [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
Prefix all ivars with an underscore. file: [abb9dc92a6] check-in: [e40729d406] user: js, branch: trunk, size: 5232 [annotate] [blame] [check-ins using] [diff]
2013-01-14
19:02
Documentation improvements. file: [daf9be21c3] check-in: [30ab311006] user: js, branch: trunk, size: 5226 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [c73b2d3613] check-in: [813c00ccf0] user: js, branch: trunk, size: 5223 [annotate] [blame] [check-ins using] [diff]
2012-11-10
10:27
Make it possible to give threads a name.

On Haiku, this even renames the Haiku thread so that in a process
manager the thread's name can be seen. If no name has been set, it uses
the class name as name for the Haiku thread. file: [b43535f12f] check-in: [debba8efb6] user: js, branch: trunk, size: 5217 [annotate] [blame] [check-ins using] [diff]

00:14
Remove "object" from OFThread.

Blocks don't allow passing it anymore and without blocks, subclassing is
necessary anyway so that an ivar with the correct type can be added
(instead of id) if required. file: [9008bb5cf4] check-in: [0639a351db] user: js, branch: trunk, size: 4881 [annotate] [blame] [check-ins using] [diff]

2012-11-03
22:20
Small workaround for a Haiku bug. file: [86aa6ed7ff] check-in: [9667b3fd54] user: js, branch: 0.7, size: 5382 [annotate] [blame] [check-ins using] [diff]
22:19
Small workaround for a Haiku bug. file: [eeffe88350] check-in: [ac70a7059f] user: js, branch: trunk, size: 5382 [annotate] [blame] [check-ins using] [diff]
2012-10-28
12:38
Switch to a headerdoc-compatible doc format. file: [f5f613cd72] check-in: [1ad9565253] user: js, branch: trunk, size: 5262 [annotate] [blame] [check-ins using] [diff]
2012-10-26
11:04
Split OFThread.m into multiple files.

It was time to finally have one file per class. file: [384da59e46] check-in: [0a55edad35] user: js, branch: trunk, size: 5262 [annotate] [blame] [check-ins using] [diff]

10:16
Add OF_ prefix to a private method missing it. file: [ac4e14b1b1] check-in: [cbf1901c7f] user: js, branch: trunk, size: 7588 [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
Make use of instancetype. file: [f7ea444098] check-in: [fb515e8e24] user: js, branch: trunk, size: 7585 [annotate] [blame] [check-ins using] [diff]
2012-10-02
00:04
Remove [OFThread initWithObject:block:]. file: [db7d8eaae9] check-in: [31ff715036] user: js, branch: trunk, size: 7487 [annotate] [blame] [check-ins using] [diff]
2012-09-16
22:26
Every OFThread now always has a run loop. file: [fd48a1729f] check-in: [4c8f9edda8] user: js, branch: trunk, size: 8147 [annotate] [blame] [check-ins using] [diff]
15:27
Prefix all private methods with OF_. file: [ea0984f710] check-in: [c137da5e5b] user: js, branch: trunk, size: 8250 [annotate] [blame] [check-ins using] [diff]
13:23
Slightly refactor OFRunLoop. file: [cf6df87507] check-in: [0cfbbb367a] user: js, branch: trunk, size: 8246 [annotate] [blame] [check-ins using] [diff]
2012-09-15
12:21
OFThread: Make the block the last argument. file: [053c62f685] check-in: [cf8db6867d] user: js, branch: trunk, size: 8097 [annotate] [blame] [check-ins using] [diff]
12:20
OFThread: Implement the OFCopying protocol. file: [c69b3187df] check-in: [2929f89f3e] user: js, branch: trunk, size: 8093 [annotate] [blame] [check-ins using] [diff]
2012-09-11
16:48
Add OFTimer and OFRunLoop. file: [2e194b355b] check-in: [a4494ec477] user: js, branch: trunk, size: 7799 [annotate] [blame] [check-ins using] [diff]
13:41
The ivar "object" of OFThread should be protected. file: [82f143b8db] check-in: [1dc2f0b15f] user: js, branch: trunk, size: 7611 [annotate] [blame] [check-ins using] [diff]
2012-09-09
17:50
Make thread ivars private. file: [ee8e77c050] check-in: [3b1c4cc681] user: js, branch: trunk, size: 7590 [annotate] [blame] [check-ins using] [diff]
17:48
Make the main thread an OFThread. file: [3a25c292f8] check-in: [ead7b7acd3] user: js, branch: trunk, size: 7549 [annotate] [blame] [check-ins using] [diff]
2012-08-05
17:34
Add OFRecursiveMutex class. file: [51a42ce92e] check-in: [6069030651] user: js, branch: trunk, size: 7458 [annotate] [blame] [check-ins using] [diff]
2012-07-03
15:49
Use the copy attribute in properties for blocks.

Newer clang versions don't allow the retain attribute for blocks
anymore. file: [2dc62c0de7] check-in: [4d18a4b596] user: js, branch: trunk, size: 7294 [annotate] [blame] [check-ins using] [diff]

2012-01-05
00:56
Update copyright. file: [8fb7bca3d7] check-in: [ce70e17b38] user: js, branch: trunk, size: 7296 [annotate] [blame] [check-ins using] [diff]
2011-09-17
20:17
Remove +[OFThread sleepForTimeInterval:microseconds:].

Also fixes the forgotten change to double in +[sleepForTimeInterval:]
and fixes two warnings due to missing casts from double to uint32_t. file: [f4f9d56218] check-in: [c19b2b5726] user: js, branch: trunk, size: 7290 [annotate] [blame] [check-ins using] [diff]

2011-09-11
17:09
Documentation improvements. file: [94d47672c0] check-in: [8d554c0421] user: js, branch: trunk, size: 7587 [annotate] [blame] [check-ins using] [diff]
2011-07-06
22:49
Add +[threadWithBlock:] to OFThread. file: [965a5e323a] check-in: [d966ede8fe] user: js, branch: trunk, size: 6698 [annotate] [blame] [check-ins using] [diff]
22:40
Documentation fixes. file: [8b6bb2dcce] check-in: [c92627ff31] user: js, branch: 0.5, size: 5550 [annotate] [blame] [check-ins using] [diff]
22:39
Documentation fixes. file: [7979d66d62] check-in: [16ce0fea69] user: js, branch: trunk, size: 5618 [annotate] [blame] [check-ins using] [diff]
2011-04-22
22:46
More style improvements. file: [035bd5514f] check-in: [c9c78d86d3] user: js, branch: trunk, size: 5608 [annotate] [blame] [check-ins using] [diff]
2011-03-28
23:54
One more workaround for a bug in gcc 4.4.4 (possibly only Haiku). file: [a4a4af59a1] check-in: [12dd2db6ce] user: js, branch: trunk, size: 5552 [annotate] [blame] [check-ins using] [diff]
2011-03-07
16:00
Add class OFCondition. file: [b9567d8482] check-in: [615eb3e46b] user: js, branch: trunk, size: 5386 [annotate] [blame] [check-ins using] [diff]
2011-01-18
20:58
Add +[thread] to OFThread and allow -[init]. file: [365e7ac8cd] check-in: [bdfcb94f18] user: js, branch: trunk, size: 4894 [annotate] [blame] [check-ins using] [diff]
2011-01-11
22:45
Rename tlsKey -> TLSKey. Acronyms are always uppercase! file: [2f02e73fed] check-in: [eb374bb382] user: js, branch: trunk, size: 4836 [annotate] [blame] [check-ins using] [diff]
22:43
Fix missing retain + autorelease in TLS-object handling. file: [5c73dd92a3] check-in: [e9e263d62a] user: js, branch: trunk, size: 4836 [annotate] [blame] [check-ins using] [diff]
22:03
Replace -[sleepForNMilliseconds:] with -[sleepForTimeInterval:]. file: [fdc4c85c01] check-in: [219a630ef0] user: js, branch: trunk, size: 4879 [annotate] [blame] [check-ins using] [diff]
19:59
Add +[sleepUntilDate:] to OFDate. file: [0e4696b05c] check-in: [3fbc337547] user: js, branch: trunk, size: 4566 [annotate] [blame] [check-ins using] [diff]
2011-01-01
20:19
Change license. file: [c73592c469] check-in: [da6b3d26cb] user: js, branch: trunk, size: 4432 [annotate] [blame] [check-ins using] [diff]
2010-12-10
11:21
Documentation fixes. file: [a62d13b413] check-in: [fada60d54c] user: js, branch: trunk, size: 4176 [annotate] [blame] [check-ins using] [diff]
2010-11-06
11:44
More reliable cleanup on failure in OFMutex and OFTLSKey. file: [7bb5f669dd] check-in: [f1d813ef6a] user: js, branch: trunk, size: 4172 [annotate] [blame] [check-ins using] [diff]
2010-09-05
23:19
Replace OFObject* with id in many places.

We assume now that every object understands retain, release, etc. so
that we can weaken the type from OFObject* to id. This makes it
possible to use different root object classes. file: [cc3937ad7a] check-in: [e2b06423e0] user: js, branch: trunk, size: 4134 [annotate] [blame] [check-ins using] [diff]

2010-08-25
11:22
Add warning to doc about collections not retaining and autoreleasing. file: [5849ea0fbe] check-in: [91ccd70c55] user: js, branch: trunk, size: 4141 [annotate] [blame] [check-ins using] [diff]
2010-04-17
15:46
Don't return self where not necessary, return void or something useful. file: [fb94c5b01e] check-in: [062a052b50] user: js, branch: trunk, size: 4047 [annotate] [blame] [check-ins using] [diff]
2010-04-11
17:43
Don't require OFCopying protocol for the thread's object. file: [25914ccb95] check-in: [e5240d68e8] user: js, branch: trunk, size: 3981 [annotate] [blame] [check-ins using] [diff]
2010-04-10
22:33
There was no real reason to rename -[main] to -[run]. Undo it. file: [f1900f7431] check-in: [663f63e55a] user: js, branch: trunk, size: 4019 [annotate] [blame] [check-ins using] [diff]
22:06
Add +[yield] to OFThread. file: [ca016b6bde] check-in: [1adf3bb9bf] user: js, branch: trunk, size: 4016 [annotate] [blame] [check-ins using] [diff]
22:00
Add +[sleepForNMilliseconds:] to OFThread. file: [d4b4d3301a] check-in: [98b8d76bbc] user: js, branch: trunk, size: 3892 [annotate] [blame] [check-ins using] [diff]
21:29
Greatly improve OFThread.
This fixes a lot of issues that happened in the real world.
file: [413f614157] check-in: [ea96fd1e24] user: js, branch: trunk, size: 3767 [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
Update copyright. file: [bc1c5f6169] check-in: [42886185fd] user: js, branch: trunk, size: 3123 [annotate] [blame] [check-ins using] [diff]
2010-02-11
14:58
Documentation improvements. file: [a32c294bc5] check-in: [72caeab860] user: js, branch: trunk, size: 3123 [annotate] [blame] [check-ins using] [diff]
2010-01-30
00:50
Add -[tryLock] to OFMutex. file: [24a798f944] check-in: [20e1c0e24b] user: js, branch: trunk, size: 3097 [annotate] [blame] [check-ins using] [diff]
2009-12-24
09:17
Change type of object in OFThread to id. file: [469fa957dd] check-in: [77092d1160] user: js, branch: trunk, size: 2922 [annotate] [blame] [check-ins using] [diff]
2009-12-02
20:02
Introduce some consistency when to use OFObject* and when to use id. file: [d9ac27e5a8] check-in: [c7ab3a46d1] user: js, branch: trunk, size: 2941 [annotate] [blame] [check-ins using] [diff]
2009-11-14
12:17
New solution for TLS key destructors that works on any OS. file: [03b7369e6c] check-in: [12101c192f] user: js, branch: trunk, size: 2877 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [6639eedccb] check-in: [a3cc34b139] user: js, branch: trunk, size: 2765 [annotate] [blame] [check-ins using] [diff]
2009-10-18
19:32
Only cancel a thread on -[dealloc] if it's still running. file: [a3c7f4a17c] check-in: [19a1167518] user: js, branch: trunk, size: 2768 [annotate] [blame] [check-ins using] [diff]
2009-10-03
11:51
Add +[tlsKey] to OFTLSKey. file: [cae32ff3af] check-in: [fad0ff6539] user: js, branch: trunk, size: 2753 [annotate] [blame] [check-ins using] [diff]
2009-09-21
11:15
Move platform-specific threading stuff to threading.h. file: [894be3846a] check-in: [15a67e8ee5] user: js, branch: trunk, size: 2611 [annotate] [blame] [check-ins using] [diff]
2009-06-30
12:55
Add some missing documentation. file: [36e8a35200] check-in: [973e19f23c] user: js, branch: trunk, size: 2807 [annotate] [blame] [check-ins using] [diff]
2009-06-01
04:08
Optimize OFMutex on Win32 and add missing -[dealloc]. file: [48c9aa376a] check-in: [ddcee670e4] user: js, branch: trunk, size: 2809 [annotate] [blame] [check-ins using] [diff]
02:08
Add OFMutex and use it in OFTCPSocket instead of @synchronized. file: [0d2fba1b4a] check-in: [cca028cedf] user: js, branch: trunk, size: 2799 [annotate] [blame] [check-ins using] [diff]
01:46
Copy the object for an OFThread so it's thread-safe. file: [b93a3d71df] check-in: [9b3d408f0d] user: js, branch: trunk, size: 2494 [annotate] [blame] [check-ins using] [diff]
2009-05-04
12:57
Add Thread Local Storage support to OFThread. file: [5e60e220d4] check-in: [4d1d644283] user: js, branch: trunk, size: 2474 [annotate] [blame] [check-ins using] [diff]
2009-05-01
20:24
Added: Preliminary OFThread implementation. file: [1ac78297bf] check-in: [e5bcc6a3be] user: js, branch: trunk, size: 1336 [annotate] [blame] [check-ins using]