History of file src/OFThread.m at check-in 2cb48ceaf1d0c54a929080b17bcf0f994335809830ae6d0cbd8ae81dc9f2644b
2024-08-17
| ||
09:51 | Move private functions into private headers file: [7e0d493a90] check-in: [b829f3e798] user: js, branch: trunk, size: 11840 [annotate] [blame] [check-ins using] [diff] | |
2024-05-20
| ||
10:29 | Move +[waitForConsoleVBlank] to OFThread file: [9e1f600d33] check-in: [684435a48d] user: js, branch: gamecontroller, size: 11809 [annotate] [blame] [check-ins using] [diff] | |
2024-04-29
| ||
21:42 | Properly hide private symbols file: [f0b78222ad] check-in: [f16bccc7b3] user: js, branch: trunk, size: 11328 [annotate] [blame] [check-ins using] [diff] | |
2024-04-03
| ||
02:16 | Change license to LGPLv3 only file: [c590c3dc16] check-in: [7413a728a7] user: js, branch: trunk, size: 11326 [annotate] [blame] [check-ins using] [diff] | |
2024-04-01
| ||
15:59 |
Remove #define __NO_EXT_QNX
It doesn't seem to be needed anymore. file: [ce6ddb874b] check-in: [cf0effe834] user: js, branch: trunk, size: 11118 [annotate] [blame] [check-ins using] [diff] | |
2024-01-02
| ||
17:17 | Update copyright file: [2a7fa371d3] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 11139 [annotate] [blame] [check-ins using] [diff] | |
2023-04-10
| ||
15:08 | Work around newer amiga-gcc defining Class file: [4fb74cf061] check-in: [abbed5c008] user: js, branch: trunk, size: 11139 [annotate] [blame] [check-ins using] [diff] | |
2023-01-06
| ||
09:04 | Update copyright file: [7471d46290] check-in: [8939cbdb52] user: js, branch: trunk, size: 11095 [annotate] [blame] [check-ins using] [diff] | |
2022-10-23
| ||
16:21 | Rename a few exceptions for consistency file: [3012eaab1d] check-in: [2872ce314d] user: js, branch: trunk, size: 11095 [annotate] [blame] [check-ins using] [diff] | |
2022-08-29
| ||
20:15 | OFThread: Rename threadBlock to block file: [51c302d474] check-in: [0cca95da46] user: js, branch: trunk, size: 11095 [annotate] [blame] [check-ins using] [diff] | |
2022-02-12
| ||
07:46 | Update copyright file: [9e6c736b19] check-in: [1a86b8175b] user: js, branch: trunk, size: 11173 [annotate] [blame] [check-ins using] [diff] | |
2022-01-29
| ||
19:24 | Make ObjFW compile for MiNT file: [b3fdf815a6] check-in: [8d027eadf3] user: js, branch: trunk, size: 11173 [annotate] [blame] [check-ins using] [diff] | |
2021-04-18
| ||
22:56 | Rename all symbols marked extern file: [b51d41216b] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 11076 [annotate] [blame] [check-ins using] [diff] | |
20:51 | Rename everything in several smaller files file: [74f3661383] check-in: [35de667566] user: js, branch: new-naming-convention, size: 11080 [annotate] [blame] [check-ins using] [diff] | |
15:55 | Rename all functions in macros.h file: [160a8f8f78] check-in: [7392685ffc] user: js, branch: new-naming-convention, size: 11075 [annotate] [blame] [check-ins using] [diff] | |
2021-04-17
| ||
20:47 | Rename atomic operations file: [48147e27cd] check-in: [dfaf287249] user: js, branch: new-naming-convention, size: 11076 [annotate] [blame] [check-ins using] [diff] | |
16:03 | of_thread_t -> OFPlainThread file: [135a1ec8ae] check-in: [65510fa56b] user: js, branch: new-naming-convention, size: 11061 [annotate] [blame] [check-ins using] [diff] | |
15:45 | of_tlskey_t -> OFTLSKey file: [d21886a035] check-in: [cc3a4a7b43] user: js, branch: new-naming-convention, size: 11022 [annotate] [blame] [check-ins using] [diff] | |
03:21 | Rename all blocks file: [edb1078c84] check-in: [c4e0e56fa3] user: js, branch: new-naming-convention, size: 11041 [annotate] [blame] [check-ins using] [diff] | |
00:51 | of_time_interval_t -> OFTimeInterval file: [304aef013f] check-in: [8c0d76f782] user: js, branch: new-naming-convention, size: 11049 [annotate] [blame] [check-ins using] [diff] | |
2021-01-02
| ||
22:04 | Update copyright file: [9da78353a7] check-in: [374e1a1bfa] user: js, branch: trunk, size: 11053 [annotate] [blame] [check-ins using] [diff] | |
2020-12-23
| ||
13:41 |
Do not use nanosleep() on AmigaOS / MorphOS
This is yet another function that would need to be passed from the | |
2020-12-20
| ||
21:26 |
Return error instead of using errno for threading
errno is problematic for Amiga libraries and is also not thread-safe on | |
2020-12-06
| ||
17:49 |
Use a single global socket base on MorphOS
MorphOS allows sharing a single socket base between tasks, so having a | |
2020-09-27
| ||
03:08 |
Work around bugs in Apple GCC 4.0.1
Still miscompiles things. file: [690c42ccaa] check-in: [9e9ce6aa1c] user: js, branch: trunk, size: 10780 [annotate] [blame] [check-ins using] [diff] | |
00:57 | Work around bugs in Apple GCC 4.2.1 file: [64242ae003] check-in: [cbc09c6e26] user: js, branch: trunk, size: 10778 [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 This is now solved by using an index into "objects" instead. Since we're While debugging this, I noticed that the last pool is popped quite | |
2020-01-02
| ||
01:51 | Update copyright file: [82882ba976] check-in: [c7f0229795] user: js, branch: trunk, size: 10652 [annotate] [blame] [check-ins using] [diff] | |
2019-09-29
| ||
20:53 | Reduce ivar scopes file: [6151851d64] check-in: [e0a330b377] user: js, branch: trunk, size: 10649 [annotate] [blame] [check-ins using] [diff] | |
15:58 |
Remove OFAutoreleasePool
OFAutoreleasePools have long been discouraged in favor of the runtime's | |
2019-09-01
| ||
18:25 | Disallow +[OFThread terminate] on main thread file: [0dae234b3c] check-in: [35958b2528] user: js, branch: trunk, size: 10786 [annotate] [blame] [check-ins using] [diff] | |
18:22 | Add +[OFThread isMainThread] file: [4ed6327174] check-in: [8a2fa8eff4] user: js, branch: trunk, size: 10709 [annotate] [blame] [check-ins using] [diff] | |
16:53 |
Remove remaining uses of lrint()
It was used to convert a time interval into seconds and microseconds or | |
15:29 |
OFThread: Allow specifying a name before starting
This allows specifying a name before the thread gets started, so that This is especially useful as some operating systems do not support | |
12:50 | {condition,mutex,thread}.m: Set errno on error file: [fe6d085eae] check-in: [d7fd999fee] user: js, branch: trunk, size: 10585 [annotate] [blame] [check-ins using] [diff] | |
2019-08-11
| ||
18:56 | Support sockets in multiple threads on AmigaOS file: [d2706d56fe] check-in: [a40f3fc829] user: js, branch: trunk, size: 10421 [annotate] [blame] [check-ins using] [diff] | |
2019-08-10
| ||
02:06 | Clean up the AmigaOS 4 library mess file: [ec9da598dc] check-in: [3292a6fdbc] user: js, branch: trunk, size: 9771 [annotate] [blame] [check-ins using] [diff] | |
2019-08-03
| ||
18:13 | Add threads for AmigaOS file: [0f6e6aa5d7] check-in: [da383f4f03] user: js, branch: trunk, size: 10529 [annotate] [blame] [check-ins using] [diff] | |
2019-08-02
| ||
12:23 | OFThread: Set main thread to running file: [83f93c8053] check-in: [a2ab241bc7] user: js, branch: trunk, size: 10512 [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 | |
2019-07-28
| ||
12:32 |
OFThread: Don't require of_thread_exit()
Some systems do not provide the functionality. file: [0906d8e684] check-in: [b5430ac44f] user: js, branch: trunk, size: 10472 [annotate] [blame] [check-ins using] [diff] | |
2019-04-21
| ||
09:58 | Fix compilation on AmigaOS 4 with 53.30 SDK file: [67db96fe50] check-in: [50a6ffd4b1] user: js, branch: trunk, size: 10569 [annotate] [blame] [check-ins using] [diff] | |
2019-03-08
| ||
00:35 | Use dot syntax file: [5653a804be] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 10549 [annotate] [blame] [check-ins using] [diff] | |
2019-01-03
| ||
19:13 | Update copyright file: [8c84f260e2] check-in: [0509d7a844] user: js, branch: trunk, size: 10565 [annotate] [blame] [check-ins using] [diff] | |
2018-08-19
| ||
01:13 |
Don't use nanosleep() on Nintendo 3DS
It exists, but it just crashes. file: [3b2a0f4201] check-in: [06255a6aa8] user: js, branch: trunk, size: 10559 [annotate] [blame] [check-ins using] [diff] | |
2018-08-17
| ||
01:17 |
AmigaOS 4: Do not use libauto
libauto loads the libraries too late. file: [b00f8ab9a5] check-in: [d71abc5366] user: js, branch: trunk, size: 10559 [annotate] [blame] [check-ins using] [diff] | |
2018-08-16
| ||
22:33 | Fix compilation for AmigaOS 4 file: [757dd832c3] check-in: [7413f500db] user: js, branch: trunk, size: 9820 [annotate] [blame] [check-ins using] [diff] | |
2018-08-11
| ||
20:45 | Fix --disable-threads --disable-sockets file: [640ed8051c] check-in: [a220bd7393] user: js, branch: trunk, size: 9796 [annotate] [blame] [check-ins using] [diff] | |
20:25 |
Add +[OFThread DNSResolver]
This returns the DNS resolver for the current thread. file: [0be3da0cb6] check-in: [2fb0769744] user: js, branch: trunk, size: 9765 [annotate] [blame] [check-ins using] [diff] | |
2018-07-28
| ||
18:45 | Rename OFLocalization -> OFLocale file: [cbd29f4328] check-in: [aa0384d1bf] user: js, branch: trunk, size: 9203 [annotate] [blame] [check-ins using] [diff] | |
2018-05-26
| ||
14:49 |
Remove #define INTUITION_CLASSES_H hack
This has been fixed upstream in amiga-gcc. file: [5bd8a09d91] check-in: [b31bd48f90] user: js, branch: trunk, size: 9221 [annotate] [blame] [check-ins using] [diff] | |
14:46 |
Use trunc() instead of floor() in several places
floor() does not have the desired effect here when the number is | |
2018-05-13
| ||
19:24 |
platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K
The reason for this is that, in theory, this also supports versions | |
2018-04-23
| ||
22:19 | Use more native AmigaOS APIs on AmigaOS 3 file: [19b90357c1] check-in: [b16fc262c0] user: js, branch: trunk, size: 9279 [annotate] [blame] [check-ins using] [diff] | |
2018-04-22
| ||
17:48 | Make ObjFW compile for AmigaOS 3 file: [6fbe74a9ed] check-in: [0b07c8fcfa] user: js, branch: trunk, size: 9275 [annotate] [blame] [check-ins using] [diff] | |
16:13 |
runtime: Define BOOL to be the same as bool
As we define the ABI, we can just replace BOOL with bool everywhere, This still defines BOOL to bool for compatibility, except on AmigaOS and | |
2018-01-03
| ||
19:49 | Update copyright notice file: [760eefafe7] check-in: [7e5c81e186] user: js, branch: trunk, size: 9294 [annotate] [blame] [check-ins using] [diff] | |
2017-11-04
| ||
20:56 | +[OFThread threadDictionary]: Handle nil thread file: [a4d40e057a] check-in: [c6e0123999] user: js, branch: 0.90, size: 8810 [annotate] [blame] [check-ins using] [diff] | |
2017-10-30
| ||
00:23 |
Add class properties where appropriate
This improves Swift compatibility. file: [5ec927c6f3] check-in: [a2e849c681] user: js, branch: trunk, size: 9271 [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 | |
2017-10-07
| ||
15:14 |
OFThread: Fix setting the name on the wrong thread
This time for real. file: [3fc1c7c412] check-in: [1a502ac38c] user: js, branch: 0.90, size: 8775 [annotate] [blame] [check-ins using] [diff] | |
15:12 |
OFThread: Fix setting the name on the wrong thread
This time for real. file: [41a9132f9a] check-in: [c211f691e7] user: js, branch: trunk, size: 9190 [annotate] [blame] [check-ins using] [diff] | |
14:57 | OFThread: Support setting the name while running file: [2f9aa72b9d] check-in: [76ee8ab481] user: js, branch: trunk, size: 9152 [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 | |
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 | |
2017-09-28
| ||
23:02 | Enable -Wnullable-to-nonnull-conversion and adjust file: [488341d5ad] check-in: [2de9660312] user: js, branch: trunk, size: 9081 [annotate] [blame] [check-ins using] [diff] | |
2017-09-26
| ||
22:40 | Work around Clang analyzer false positives file: [c1e478224c] check-in: [c9efebeff9] user: js, branch: trunk, size: 9068 [annotate] [blame] [check-ins using] [diff] | |
2017-06-04
| ||
18:48 |
Treat MorphOS + ixemul as a separate platform
This reduces the ifdef hell and makes much more sense, as with ixemul, | |
2017-05-28
| ||
23:38 | platform.h: Add OF_ANDROID and OF_DJGPP file: [27186ac8aa] check-in: [476483dd19] user: js, branch: trunk, size: 9082 [annotate] [blame] [check-ins using] [diff] | |
17:56 | OFThread: Use Delay() on MorphOS + libnix file: [d1aa6904ee] check-in: [aa6143bdf1] user: js, branch: trunk, size: 9083 [annotate] [blame] [check-ins using] [diff] | |
2017-05-27
| ||
10:33 | Add unistd.h wrapper to make things less horrible file: [9edbd0db22] check-in: [d31ec806ef] user: js, branch: trunk, size: 8810 [annotate] [blame] [check-ins using] [diff] | |
10:08 | Make things work with glibc 2.17 and Clang 3.4.2 file: [642d2b4756] check-in: [ec36a82d68] user: js, branch: trunk, size: 8975 [annotate] [blame] [check-ins using] [diff] | |
2017-05-22
| ||
23:31 | Make includes of unistd.h and fcntl.h conditional file: [0372a1b765] check-in: [1287e77e04] user: js, branch: trunk, size: 8923 [annotate] [blame] [check-ins using] [diff] | |
2017-05-21
| ||
21:28 |
Prefix private methods with of_ instead of OF_
This matches Apple's style. file: [b1f565231d] check-in: [6b77a5dd8b] user: js, branch: trunk, size: 8921 [annotate] [blame] [check-ins using] [diff] | |
2017-05-17
| ||
22:07 |
OFThread: Use unsigned int instead of useconds_t
useconds_t isn't always available and an unsigned int always satisfies | |
2017-05-13
| ||
22:38 | Reduce retain + autorelease file: [666629e8be] check-in: [504e13cf00] user: js, branch: trunk, size: 8952 [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: [a839633991] check-in: [4af49a13c3] user: js, branch: trunk, size: 8975 [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 | |
2016-04-18
| ||
17:22 |
OFThread: Fix missing include
This was only a problem with --disable-sockets, as sockets pull in | |
17:00 |
OFThread: Fix missing include
This was only a problem with --disable-sockets, as sockets pull in | |
2016-02-21
| ||
20:41 |
OFThread: Sleep using svcSleepThread() on 3DS
This makes ObjFW compile for the Nintendo 3DS. file: [d451c32cdd] check-in: [032bfb52ed] user: js, branch: trunk, size: 8939 [annotate] [blame] [check-ins using] [diff] | |
2016-01-03
| ||
00:43 |
Update copyright
While at it, also update the mail address. file: [9d8e398251] check-in: [cec0f072f8] user: js, branch: 0.8, size: 8722 [annotate] [blame] [check-ins using] [diff] | |
00:41 |
Update copyright
While at it, also update the mail address. file: [b26e7541e7] check-in: [2a27cf3000] user: js, branch: trunk, size: 8711 [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: | |
2015-10-19
| ||
22:15 | Add platform.h & make platform defines consistent file: [89cb894f3a] check-in: [1ba08eebc5] user: js, branch: trunk, size: 8752 [annotate] [blame] [check-ins using] [diff] | |
2015-09-17
| ||
21:19 | Fix compilation for PSP file: [8a7b628ccd] check-in: [719ec38eb0] user: js, branch: trunk, size: 8718 [annotate] [blame] [check-ins using] [diff] | |
2015-09-06
| ||
15:48 | Fix compilation for Wii file: [5fea1c6704] check-in: [d0eab356ce] user: js, branch: trunk, size: 8696 [annotate] [blame] [check-ins using] [diff] | |
2015-05-16
| ||
11:15 | +[sleepForTimeInterval:]: Just return on negative file: [785aa7fe26] check-in: [41d9be6b3b] user: js, branch: trunk, size: 8565 [annotate] [blame] [check-ins using] [diff] | |
2015-01-03
| ||
20:57 | Update copyright file: [bdd0b31d38] check-in: [cfd374b906] user: js, branch: trunk, size: 8599 [annotate] [blame] [check-ins using] [diff] | |
2014-08-01
| ||
12:27 |
Change return type for thread main
This changes the return type to void, as the return type of a thread's | |
2014-07-19
| ||
16:27 | OFThread: Configurable priority and stack size file: [b9ff0cb8da] check-in: [c4f724070a] user: js, branch: trunk, size: 8603 [annotate] [blame] [check-ins using] [diff] | |
16:16 | Add of_thread_set_name() file: [8e23861680] check-in: [2c78c6570b] user: js, branch: trunk, size: 7899 [annotate] [blame] [check-ins using] [diff] | |
09:55 |
Don't use C11's noreturn
It causes just too much trouble: It breaks with some old versions of | |
2014-06-21
| ||
21:43 |
Move all macros from OFObject.h to macros.h
This means that OFObject.h imports macros.h now, making it unnecessary | |
2014-05-29
| ||
21:27 | Work around __block being used by old glibc file: [57ac3c2fe7] check-in: [d1e559b643] user: js, branch: trunk, size: 8011 [annotate] [blame] [check-ins using] [diff] | |
2014-05-15
| ||
01:50 |
Don't define _*_SOURCE
Instead, just define _GNU_SOURCE when __GLIBC__ is defined. After all, | |
2014-05-05
| ||
02:43 | Add OF_NO_RETURN and OF_UNREACHABLE file: [75412d8593] check-in: [b885b6fdfa] user: js, branch: trunk, size: 7974 [annotate] [blame] [check-ins using] [diff] | |
01:08 | Improve atomics API file: [68ca15bbc7] check-in: [a92844520a] user: js, branch: trunk, size: 7770 [annotate] [blame] [check-ins using] [diff] | |
2014-04-27
| ||
19:34 | Initial Nintendo DS port file: [d65d9ab0c1] check-in: [cd0a632472] user: js, branch: trunk, size: 7770 [annotate] [blame] [check-ins using] [diff] | |
2014-04-08
| ||
18:48 |
Partly revert 4a8704e
This actually caused more trouble than it fixed. The real reason was | |
2014-03-05
| ||
00:15 | OFThread.m: Fix missing define for PSP file: [0049adfd9b] check-in: [a4986b3356] user: js, branch: trunk, size: 7691 [annotate] [blame] [check-ins using] [diff] | |
00:12 | Fix compilation for Wii file: [b62a944b3a] check-in: [54a34ebd9c] user: js, branch: trunk, size: 7669 [annotate] [blame] [check-ins using] [diff] | |
2014-02-23
| ||
21:04 |
Increase _POSIX_C_SOURCE and _XOPEN_SOURCE
FreeBSD needs this. file: [3d7fca1f63] check-in: [30f95ecdf5] user: js, branch: trunk, size: 7464 [annotate] [blame] [check-ins using] [diff] | |
18:51 |
Add missing #define _POSIX_C_SOURCE 199309L
This also removes #include <time.h> from OFHTTPClientTests, as this | |
2014-02-18
| ||
00:22 | Move around a few defines to be more consistent file: [1302d2a050] check-in: [f9d12201f8] user: js, branch: trunk, size: 7485 [annotate] [blame] [check-ins using] [diff] | |
2014-02-13
| ||
23:26 |
Use -std=c11 instead of -std=gnu11
Not using -std=gnu11 means _GNU_SOURCE does not get defined anymore, Additionally, this adds of_strdup in macros.h, as strdup is an | |
2014-01-16
| ||
23:09 |
Add of_time_interval_t.
This is used instead for time intervals now instead of doubles. file: [bbc593cb97] check-in: [dc31ce3d34] user: js, branch: trunk, size: 7455 [annotate] [blame] [check-ins using] [diff] | |
2014-01-04
| ||
00:24 | Update copyright. file: [4151197f7a] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 7382 [annotate] [blame] [check-ins using] [diff] | |
2013-12-15
| ||
18:11 | Fix a few minor bugs found by the Clang Analyzer. file: [ac1a8ee7d6] check-in: [ffe7645e3a] user: js, branch: trunk, size: 7376 [annotate] [blame] [check-ins using] [diff] | |
2013-12-05
| ||
17:48 |
Make coding style consistent.
A file documenting the coding style will be written soon. This will | |
2013-12-01
| ||
02:08 |
Port to DOS/DJGPP.
The port was much easier than expected. The only changes that were | |
2013-11-30
| ||
19:53 |
OFThread.m: Move #ifdefs.
The reason is that the symbol nanosleep is available now on Win32, but | |
2013-11-23
| ||
01:12 | Add OF_INVALID_INIT_METHOD. file: [b35e0e98a2] check-in: [35dafd5c57] user: js, branch: trunk, size: 7300 [annotate] [blame] [check-ins using] [diff] | |
2013-09-15
| ||
18:51 | OFAutoreleasePool: Free pool cache on thread exit. file: [6544d29ad9] check-in: [29e4d00225] user: js, branch: trunk, size: 7369 [annotate] [blame] [check-ins using] [diff] | |
2013-08-15
| ||
19:00 | Move private methods into private headers. file: [a7b179a03a] check-in: [1d7a1cbca0] user: js, branch: trunk, size: 7605 [annotate] [blame] [check-ins using] [diff] | |
2013-07-28
| ||
21:07 | Replace OFTLSKey w/ +[OFThread threadDictionary]. file: [c78e4c4d29] check-in: [1eaf875a88] user: js, branch: trunk, size: 7576 [annotate] [blame] [check-ins using] [diff] | |
2013-06-30
| ||
18:30 |
Rename -[initWithBlock:].
It is now called -[initWithThreadBlock:] in order to prevent method This also fixes a missing release for the thread block. file: [076ba07ad1] check-in: [a3639589d3] user: js, branch: trunk, size: 7768 [annotate] [blame] [check-ins using] [diff] | |
2013-06-22
| ||
12:12 |
Rework exceptions.
This mostly removes the argument for the class in which the exception This also removes a few other arguments which were not too helpful. In | |
2013-04-26
| ||
22:25 | Better checks for functions used in OFFile. file: [cdfc8ccff6] check-in: [c01ed004b0] user: js, branch: trunk, size: 7811 [annotate] [blame] [check-ins using] [diff] | |
21:10 | Use nanosleep() if available. file: [64480ed795] check-in: [db70226153] user: js, branch: trunk, size: 7789 [annotate] [blame] [check-ins using] [diff] | |
20:40 |
Make sure +[OFThread sleep*] is always available.
This means that even if --disable-threads has been specified, it is | |
2013-04-24
| ||
20:49 | OFThread: Fix missing underscore. file: [ffbd3cc3a9] check-in: [410526006b] user: js, branch: trunk, size: 7427 [annotate] [blame] [check-ins using] [diff] | |
2013-04-07
| ||
21:21 | Fix Win32 #include hell. file: [b45d9d2457] check-in: [ec6b265428] user: js, branch: trunk, size: 7421 [annotate] [blame] [check-ins using] [diff] | |
2013-03-04
| ||
17:20 |
Replace BOOL with bool.
The only places where BOOL is left are those where they are required by | |
2013-02-12
| ||
18:22 | Prefix all ivars with an underscore. file: [d1deb64582] check-in: [e40729d406] user: js, branch: trunk, size: 7419 [annotate] [blame] [check-ins using] [diff] | |
2013-01-15
| ||
02:11 | OFThread: Fix compilation without atomic ops. file: [750512444c] check-in: [d0eb2ddd31] user: js, branch: trunk, size: 7376 [annotate] [blame] [check-ins using] [diff] | |
2013-01-09
| ||
22:24 | Update copyright. file: [4dcc89a58d] check-in: [813c00ccf0] user: js, branch: trunk, size: 7215 [annotate] [blame] [check-ins using] [diff] | |
2012-12-22
| ||
15:37 | Add -[doesNotRecognizeSelector:]. file: [ba81cccfd2] check-in: [917ce5754c] user: js, branch: trunk, size: 7209 [annotate] [blame] [check-ins using] [diff] | |
2012-12-09
| ||
12:13 | Split OFHTTPRequest into OFHTTP{Client,Request}. file: [bdce062fba] check-in: [2b7a70e246] user: js, branch: trunk, size: 7247 [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 | |
00:14 |
Remove "object" from OFThread.
Blocks don't allow passing it anymore and without blocks, subclassing is | |
2012-10-26
| ||
11:04 |
Split OFThread.m into multiple files.
It was time to finally have one file per class. file: [94dbbf6fa0] check-in: [0a55edad35] user: js, branch: trunk, size: 6997 [annotate] [blame] [check-ins using] [diff] | |
10:16 | Add OF_ prefix to a private method missing it. file: [dca7dfad37] check-in: [cbf1901c7f] user: js, branch: trunk, size: 11444 [annotate] [blame] [check-ins using] [diff] | |
2012-10-09
| ||
15:07 | Make use of instancetype. file: [bab03511a5] check-in: [fb515e8e24] user: js, branch: trunk, size: 11435 [annotate] [blame] [check-ins using] [diff] | |
2012-10-02
| ||
00:04 | Remove [OFThread initWithObject:block:]. file: [c8c14f68e1] check-in: [31ff715036] user: js, branch: trunk, size: 11337 [annotate] [blame] [check-ins using] [diff] | |
2012-09-21
| ||
19:40 | Fix a warning about an unused variable. file: [c4706ccc79] check-in: [76852cdf91] user: js, branch: trunk, size: 11656 [annotate] [blame] [check-ins using] [diff] | |
2012-09-17
| ||
09:30 | Simplify autoreleasing. file: [5df0e5d983] check-in: [c9bea2982f] user: js, branch: trunk, size: 11676 [annotate] [blame] [check-ins using] [diff] | |
06:43 | Don't create unnecessary run loops. file: [e8774af2ab] check-in: [664e7d85cc] user: js, branch: trunk, size: 11261 [annotate] [blame] [check-ins using] [diff] | |
06:38 | OFThread: Run the run loop if there is no main. file: [8e90710066] check-in: [ade50547f6] user: js, branch: trunk, size: 11260 [annotate] [blame] [check-ins using] [diff] | |
2012-09-16
| ||
22:26 | Every OFThread now always has a run loop. file: [80338cd99b] check-in: [4c8f9edda8] user: js, branch: trunk, size: 11320 [annotate] [blame] [check-ins using] [diff] | |
15:27 | Prefix all private methods with OF_. file: [bf828006aa] check-in: [c137da5e5b] user: js, branch: trunk, size: 11232 [annotate] [blame] [check-ins using] [diff] | |
13:23 | Slightly refactor OFRunLoop. file: [28fcccac40] check-in: [0cfbbb367a] user: js, branch: trunk, size: 11220 [annotate] [blame] [check-ins using] [diff] | |
2012-09-15
| ||
12:21 | OFThread: Make the block the last argument. file: [dc21f4b704] check-in: [cf8db6867d] user: js, branch: trunk, size: 11394 [annotate] [blame] [check-ins using] [diff] | |
12:20 | OFThread: Implement the OFCopying protocol. file: [eea4c563b1] check-in: [2929f89f3e] user: js, branch: trunk, size: 11386 [annotate] [blame] [check-ins using] [diff] | |
2012-09-11
| ||
16:48 | Add OFTimer and OFRunLoop. file: [984a3e9ddd] check-in: [a4494ec477] user: js, branch: trunk, size: 11351 [annotate] [blame] [check-ins using] [diff] | |
2012-09-09
| ||
17:50 | Make thread ivars private. file: [e9c62791d8] check-in: [3b1c4cc681] user: js, branch: trunk, size: 10845 [annotate] [blame] [check-ins using] [diff] | |
17:48 | Make the main thread an OFThread. file: [413ce95285] check-in: [ead7b7acd3] user: js, branch: trunk, size: 10824 [annotate] [blame] [check-ins using] [diff] | |
2012-08-11
| ||
08:39 |
OFThread: Set status before spawning thread.
This way, it's not possible to set the status after the thread has | |
2012-08-05
| ||
17:34 | Add OFRecursiveMutex class. file: [03f9920eb4] check-in: [6069030651] user: js, branch: trunk, size: 10494 [annotate] [blame] [check-ins using] [diff] | |
2012-07-20
| ||
14:17 | Blocks need to be copied, not retained. file: [d622539c3c] check-in: [ddcfab2b93] user: js, branch: trunk, size: 9624 [annotate] [blame] [check-ins using] [diff] | |
2012-07-17
| ||
01:11 | MinGW fixes, mainly workaround for broken strtod. file: [c1f31b8f18] check-in: [91dc019442] user: js, branch: trunk, size: 9626 [annotate] [blame] [check-ins using] [diff] | |
2012-07-14
| ||
20:38 | Let of_tlskey_* use void* instead of id. file: [56a82e39ff] check-in: [e379516a39] user: js, branch: trunk, size: 9610 [annotate] [blame] [check-ins using] [diff] | |
2012-07-12
| ||
01:28 | Don't access isa directly. file: [01ca359fa0] check-in: [8892ae9fcc] user: js, branch: trunk, size: 9602 [annotate] [blame] [check-ins using] [diff] | |
2012-03-04
| ||
19:42 | Remove all code for the GNU runtime. file: [15c3b7304d] check-in: [7f0b0c9811] user: js, branch: runtime, size: 9460 [annotate] [blame] [check-ins using] [diff] | |
2012-01-05
| ||
00:56 | Update copyright. file: [ee16dd390b] check-in: [ce70e17b38] user: js, branch: trunk, size: 9816 [annotate] [blame] [check-ins using] [diff] | |
2011-09-22
| ||
23:25 |
Exceptions are now autoreleased.
This is safe as an "exception loop" can't happen, since if allocating So, the worst case would be that an autorelease of an exception fails, | |
12:09 |
Make it impossible to add objects to arbitrary autorelease pools.
This is almost never done, and was made impossible in ARC-compatible | |
02:20 |
Use rint() instead of nearbyint().
nearbyint() is missing on some systems, even though it is part of C99 | |
2011-09-21
| ||
20:11 | More precision for microseconds. file: [9734ed9f86] check-in: [49ec1216cd] user: js, branch: trunk, size: 9673 [annotate] [blame] [check-ins using] [diff] | |
2011-09-19
| ||
11:39 | Fix calculation of microseconds. file: [e46284151e] check-in: [6ec0a033bd] user: js, branch: trunk, size: 9643 [annotate] [blame] [check-ins using] [diff] | |
2011-09-17
| ||
20:17 |
Remove +[OFThread sleepForTimeInterval:microseconds:].
Also fixes the forgotten change to double in +[sleepForTimeInterval:] | |
15:20 | Change OFDate to use and export doubles. file: [8714631aa6] check-in: [4bef853a72] user: js, branch: trunk, size: 9982 [annotate] [blame] [check-ins using] [diff] | |
2011-09-10
| ||
23:54 | Make use of the fact that -[retain] and -[release] must not throw. file: [f4c5d36434] check-in: [3687c35784] user: js, branch: trunk, size: 10257 [annotate] [blame] [check-ins using] [diff] | |
18:36 | Remove -[finalize] as ARC will be implemented instead of a GC. file: [28529a39cf] check-in: [972a3ee40d] user: js, branch: trunk, size: 10380 [annotate] [blame] [check-ins using] [diff] | |
2011-07-17
| ||
01:55 |
Define __NO_EXT_QNX in files using unistd.h or fcntl.h.
Without this, the headers try to declare functions that use __block as | |
01:55 |
Define __NO_EXT_QNX in files using unistd.h or fcntl.h.
Without this, the headers try to declare functions that use __block as | |
2011-07-10
| ||
03:18 | Clang with the new GNU runtime does not like blocks checked against nil. file: [b844fc3209] check-in: [bb68bc87dd] user: js, branch: trunk, size: 11350 [annotate] [blame] [check-ins using] [diff] | |
2011-07-06
| ||
22:49 | Add +[threadWithBlock:] to OFThread. file: [812930f276] check-in: [d966ede8fe] user: js, branch: trunk, size: 11349 [annotate] [blame] [check-ins using] [diff] | |
2011-04-25
| ||
11:20 | Make some GCC versions happy. file: [ca215c7c50] check-in: [8faae2f499] user: js, branch: trunk, size: 10433 [annotate] [blame] [check-ins using] [diff] | |
2011-04-24
| ||
21:50 | Add -[finalize] to all classes which would require it once we have GC. file: [8a0ae17cde] check-in: [07b3d0e8de] user: js, branch: trunk, size: 10400 [annotate] [blame] [check-ins using] [diff] | |
2011-04-22
| ||
22:46 | More style improvements. file: [2f72c3fe38] check-in: [c9c78d86d3] user: js, branch: trunk, size: 9408 [annotate] [blame] [check-ins using] [diff] | |
2011-04-21
| ||
11:17 | Don't call objc_thread_[add,remove} when using ObjFW-RT. file: [926b087d59] check-in: [6ebbffda0d] user: js, branch: trunk, size: 9188 [annotate] [blame] [check-ins using] [diff] | |
2011-04-12
| ||
15:26 | Call objc_thread_{add,remove} when using the GNU runtime. file: [56ad3d2bba] check-in: [bc76c7f2b0] user: js, branch: trunk, size: 9086 [annotate] [blame] [check-ins using] [diff] | |
13:21 | Release the old return value when restarting a thread. file: [593c914f01] check-in: [b3fa788a4e] user: js, branch: trunk, size: 8831 [annotate] [blame] [check-ins using] [diff] | |
13:06 | Detach the thread if it was not joined but we want to re-run it. file: [b7fb0c0ce5] check-in: [9825bfe451] user: js, branch: trunk, size: 8805 [annotate] [blame] [check-ins using] [diff] | |
12:43 | Detach threads when we never joined them. file: [ec95778541] check-in: [70b77b9b3a] user: js, branch: trunk, size: 8734 [annotate] [blame] [check-ins using] [diff] | |
2011-03-25
| ||
15:48 | Pass the condition for condition exceptions. file: [fd76b79d25] check-in: [b7142607c2] user: js, branch: trunk, size: 8562 [annotate] [blame] [check-ins using] [diff] | |
15:22 | Pass the mutex for mutex exceptions. file: [35bdf0d696] check-in: [343e80e785] user: js, branch: trunk, size: 8437 [annotate] [blame] [check-ins using] [diff] | |
14:56 | Pass the thread for thread exceptions. file: [0dc35a7afe] check-in: [a8113fd82c] user: js, branch: trunk, size: 8360 [annotate] [blame] [check-ins using] [diff] | |
2011-03-24
| ||
19:42 | Get rid of OFExceptions.h. file: [88e3bb70b2] check-in: [cda44767f4] user: js, branch: trunk, size: 8267 [annotate] [blame] [check-ins using] [diff] | |
2011-03-22
| ||
00:55 | Add -Wshorten-64-to-32. file: [022999c179] check-in: [6d4dfb5bc7] user: js, branch: trunk, size: 7722 [annotate] [blame] [check-ins using] [diff] | |
2011-03-07
| ||
16:00 | Add class OFCondition. file: [e6a6c3857f] check-in: [615eb3e46b] user: js, branch: trunk, size: 7228 [annotate] [blame] [check-ins using] [diff] | |
13:43 | Throw an exception when trying to deallocate a locked mutex. file: [e256511cbe] check-in: [f5515b0a1f] user: js, branch: trunk, size: 6386 [annotate] [blame] [check-ins using] [diff] | |
2011-02-27
| ||
02:11 | Don't call an OFTLSKey destructor if it is NULL. file: [d347670acc] check-in: [1fe847a754] user: js, branch: trunk, size: 6327 [annotate] [blame] [check-ins using] [diff] | |
2011-02-09
| ||
18:20 | Fix #ifdef in +[OFThread yield]. file: [fb1d321236] check-in: [f33274d615] user: js, branch: trunk, size: 6265 [annotate] [blame] [check-ins using] [diff] | |
2011-01-18
| ||
20:58 | Add +[thread] to OFThread and allow -[init]. file: [7cfc6bc1be] check-in: [bdfcb94f18] user: js, branch: trunk, size: 6231 [annotate] [blame] [check-ins using] [diff] | |
2011-01-11
| ||
22:45 | Rename tlsKey -> TLSKey. Acronyms are always uppercase! file: [87f3aa066d] check-in: [eb374bb382] user: js, branch: trunk, size: 6298 [annotate] [blame] [check-ins using] [diff] | |
22:43 | Fix missing retain + autorelease in TLS-object handling. file: [e6c064086f] check-in: [e9e263d62a] user: js, branch: trunk, size: 6298 [annotate] [blame] [check-ins using] [diff] | |
22:03 | Replace -[sleepForNMilliseconds:] with -[sleepForTimeInterval:]. file: [907c5a1a16] check-in: [219a630ef0] user: js, branch: trunk, size: 6266 [annotate] [blame] [check-ins using] [diff] | |
21:56 | Some systems don't allow usleep for values > 1000000. file: [ea45b83ab4] check-in: [2fb2ff521f] user: js, branch: trunk, size: 6006 [annotate] [blame] [check-ins using] [diff] | |
19:59 | Add +[sleepUntilDate:] to OFDate. file: [8e9159db32] check-in: [3fbc337547] user: js, branch: trunk, size: 5978 [annotate] [blame] [check-ins using] [diff] | |
2011-01-01
| ||
20:19 | Change license. file: [5063c8614f] check-in: [da6b3d26cb] user: js, branch: trunk, size: 5519 [annotate] [blame] [check-ins using] [diff] | |
2010-11-06
| ||
11:44 | More reliable cleanup on failure in OFMutex and OFTLSKey. file: [8a610bd39b] check-in: [f1d813ef6a] user: js, branch: trunk, size: 5263 [annotate] [blame] [check-ins using] [diff] | |
2010-10-25
| ||
23:03 | Clean up a lot of code (mostly init methods) and fix a missing rethrow. file: [6d911d6e5b] check-in: [8a7ca573c4] user: js, branch: trunk, size: 5204 [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 | |
2010-08-25
| ||
11:22 | Add warning to doc about collections not retaining and autoreleasing. file: [1dfee35b1d] check-in: [91ccd70c55] user: js, branch: trunk, size: 5339 [annotate] [blame] [check-ins using] [diff] | |
2010-04-23
| ||
13:10 | Nicer OFList API. file: [ddd40f7181] check-in: [0ea8e1ef09] user: js, branch: trunk, size: 5362 [annotate] [blame] [check-ins using] [diff] | |
2010-04-17
| ||
15:46 | Don't return self where not necessary, return void or something useful. file: [e64db843c5] check-in: [062a052b50] user: js, branch: trunk, size: 5330 [annotate] [blame] [check-ins using] [diff] | |
2010-04-11
| ||
17:43 | Don't require OFCopying protocol for the thread's object. file: [06743d152c] check-in: [e5240d68e8] user: js, branch: trunk, size: 5353 [annotate] [blame] [check-ins using] [diff] | |
2010-04-10
| ||
23:10 | Prevent starting a thread twice. file: [6d271824f0] check-in: [8135be3b0f] user: js, branch: trunk, size: 5391 [annotate] [blame] [check-ins using] [diff] | |
22:33 | There was no real reason to rename -[main] to -[run]. Undo it. file: [935cd4400e] check-in: [663f63e55a] user: js, branch: trunk, size: 5295 [annotate] [blame] [check-ins using] [diff] | |
22:06 | Add +[yield] to OFThread. file: [6abaf9455e] check-in: [1adf3bb9bf] user: js, branch: trunk, size: 5291 [annotate] [blame] [check-ins using] [diff] | |
22:00 | Add +[sleepForNMilliseconds:] to OFThread. file: [e58214a2fc] check-in: [98b8d76bbc] user: js, branch: trunk, size: 5197 [annotate] [blame] [check-ins using] [diff] | |
21:49 | Retain the thread in -[start] first to prevent a race condition. file: [e7e5a215e2] check-in: [82fe4443e2] user: js, branch: trunk, size: 5002 [annotate] [blame] [check-ins using] [diff] | |
21:43 |
Minor fix for -[join] in OFThread.
We also want to be able to join a thread that is still running, this | |
21:29 |
Greatly improve OFThread. This fixes a lot of issues that happened in the real world. file: [4081c149ee] check-in: [ea96fd1e24] user: js, branch: trunk, size: 4983 [annotate] [blame] [check-ins using] [diff] | |
2010-02-19
| ||
16:36 | Update copyright. file: [6fc1e51add] check-in: [42886185fd] user: js, branch: trunk, size: 3956 [annotate] [blame] [check-ins using] [diff] | |
2010-02-01
| ||
16:29 | Retain object passed to OFThread instead of copying. file: [0239ec1e3d] check-in: [7ebc9b62e0] user: js, branch: trunk, size: 3956 [annotate] [blame] [check-ins using] [diff] | |
2010-01-30
| ||
00:50 | Add -[tryLock] to OFMutex. file: [acb2745598] check-in: [20e1c0e24b] user: js, branch: trunk, size: 3954 [annotate] [blame] [check-ins using] [diff] | |
2009-12-02
| ||
20:02 | Introduce some consistency when to use OFObject* and when to use id. file: [0701aeb932] check-in: [c7ab3a46d1] user: js, branch: trunk, size: 3899 [annotate] [blame] [check-ins using] [diff] | |
2009-11-15
| ||
14:25 | Get rid of 3 more FIXMEs. file: [5453c14532] check-in: [51833ec7a7] user: js, branch: trunk, size: 3854 [annotate] [blame] [check-ins using] [diff] | |
02:10 | Improve handling of failed init in OFTLSKey. file: [12445a3521] check-in: [344d7506df] user: js, branch: trunk, size: 3909 [annotate] [blame] [check-ins using] [diff] | |
2009-11-14
| ||
12:17 | New solution for TLS key destructors that works on any OS. file: [ae7f24832c] check-in: [12101c192f] user: js, branch: trunk, size: 3672 [annotate] [blame] [check-ins using] [diff] | |
2009-11-13
| ||
18:53 | Resolve more FIXMEs. file: [18efd35d69] check-in: [f1637e9310] user: js, branch: trunk, size: 3064 [annotate] [blame] [check-ins using] [diff] | |
18:42 | Add OFMutex(Lock|Unlock)FailedException and fix a few FIXMEs. file: [40c1edc042] check-in: [9a623a35d0] user: js, branch: trunk, size: 3068 [annotate] [blame] [check-ins using] [diff] | |
2009-11-09
| ||
22:45 | Rename libobjfw to ObjFW. file: [a317ee9371] check-in: [a3cc34b139] user: js, branch: trunk, size: 3041 [annotate] [blame] [check-ins using] [diff] | |
2009-10-18
| ||
19:32 | Only cancel a thread on -[dealloc] if it's still running. file: [6b5ac95014] check-in: [19a1167518] user: js, branch: trunk, size: 3044 [annotate] [blame] [check-ins using] [diff] | |
2009-10-03
| ||
11:51 | Add +[tlsKey] to OFTLSKey. file: [3dbf79b6f7] check-in: [fad0ff6539] user: js, branch: trunk, size: 2977 [annotate] [blame] [check-ins using] [diff] | |
2009-09-21
| ||
11:15 | Move platform-specific threading stuff to threading.h. file: [72efe40c4e] check-in: [15a67e8ee5] user: js, branch: trunk, size: 2736 [annotate] [blame] [check-ins using] [diff] | |
2009-07-19
| ||
16:01 | Prevent calling -[init] if parameters are required. file: [1a195479da] check-in: [42e16978dc] user: js, branch: trunk, size: 4126 [annotate] [blame] [check-ins using] [diff] | |
14:05 | Rename andFoo: to foo: in all methods. file: [0f49dc44da] check-in: [4eae61a78f] user: js, branch: trunk, size: 4033 [annotate] [blame] [check-ins using] [diff] | |
2009-06-01
| ||
04:08 | Optimize OFMutex on Win32 and add missing -[dealloc]. file: [a7103d64e5] check-in: [ddcee670e4] user: js, branch: trunk, size: 4033 [annotate] [blame] [check-ins using] [diff] | |
02:08 | Add OFMutex and use it in OFTCPSocket instead of @synchronized. file: [e77c0b551d] check-in: [cca028cedf] user: js, branch: trunk, size: 3888 [annotate] [blame] [check-ins using] [diff] | |
01:46 | Copy the object for an OFThread so it's thread-safe. file: [919a81fa63] check-in: [9b3d408f0d] user: js, branch: trunk, size: 3230 [annotate] [blame] [check-ins using] [diff] | |
2009-05-29
| ||
09:28 | Always use [self alloc]. file: [d1dce164e0] check-in: [282aadb9df] user: js, branch: trunk, size: 3204 [annotate] [blame] [check-ins using] [diff] | |
2009-05-24
| ||
18:04 | Always use #include "config.h" instead of #import "config.h". file: [acf9e5847a] check-in: [94ea6848a8] user: js, branch: trunk, size: 3498 [annotate] [blame] [check-ins using] [diff] | |
2009-05-15
| ||
22:59 | As we memset our ivars to 0, get rid of some useless ivar inits. file: [28fabc1d44] check-in: [4c6d6c56ac] user: js, branch: trunk, size: 3497 [annotate] [blame] [check-ins using] [diff] | |
2009-05-14
| ||
14:24 | Get rid of OFNotInSetException. file: [f142cdc00e] check-in: [bdc9b3219f] user: js, branch: trunk, size: 3533 [annotate] [blame] [check-ins using] [diff] | |
2009-05-13
| ||
20:31 | Rename - free to - (void)dealloc. file: [e453479303] check-in: [9e6dd00ef5] user: js, branch: trunk, size: 3637 [annotate] [blame] [check-ins using] [diff] | |
2009-05-04
| ||
12:57 | Add Thread Local Storage support to OFThread. file: [afc7a8ea8e] check-in: [4d1d644283] user: js, branch: trunk, size: 3623 [annotate] [blame] [check-ins using] [diff] | |
2009-05-01
| ||
20:24 | Added: Preliminary OFThread implementation. file: [170f123979] check-in: [e5bcc6a3be] user: js, branch: trunk, size: 2194 [annotate] [blame] [check-ins using] | |