summaryrefslogtreecommitdiff
path: root/libs/pthreads/src/TODO
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2021-06-06 22:01:10 +0300
committerGeorge Hazan <ghazan@miranda.im>2021-06-06 22:01:10 +0300
commitb18dd79bc6b6ee3658ef4513665cb84c24030368 (patch)
tree52dcfedbf246865021e0cb0e13f9ff22b08d9504 /libs/pthreads/src/TODO
parentfedcdca7ed8f402550227c5c6e9c1d28417b896c (diff)
fixes #2909 (pthreads updated to 2.11.0)
Diffstat (limited to 'libs/pthreads/src/TODO')
-rw-r--r--libs/pthreads/src/TODO26
1 files changed, 26 insertions, 0 deletions
diff --git a/libs/pthreads/src/TODO b/libs/pthreads/src/TODO
new file mode 100644
index 0000000000..360be64530
--- /dev/null
+++ b/libs/pthreads/src/TODO
@@ -0,0 +1,26 @@
+ Things that aren't done yet
+ ---------------------------
+
+1. Implement PTHREAD_PROCESS_SHARED for semaphores, mutexes,
+ condition variables, read/write locks, barriers.
+
+ IMO, to do this in a source code compatible way requires implementation of
+ POSIX shared memory functions, etc.
+
+2. For version 3 onwards: the following types need to change, resulting in an ABI
+ change. These have been written conditional on PTW32_VERSION_MAJOR > 2
+
+ a) ptw32_handle_t (a.k.a. pthread_t)
+ Change the reuse counter from unsigned int to size_t. Type "int" on 32 bit
+ and 64 bit Windows is 32 bits wide.
+
+ To give an indication of relative effectiveness of the current "unsigned int",
+ consider an application that creates and detaches a single thread every
+ millisecond. At this rate the reuse counter will max out after 49 days.
+
+ After changing to "size_t" an application compiled for x64 and creating and
+ detaching a single thread every nanosecond would max out after 584 years.
+
+ b) pthread_once_t
+ Remove elements no longer required after switching to use of MCS lock.
+ \ No newline at end of file