8000 Tags · microsoft/ftl-sdk · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Nov 9, 2022. It is now read-only.

Tags: microsoft/ftl-sdk

Tags

v0.9.14

Toggle v0.9.14's commit message
Fix semaphore implementation on non-Android Unix. (#67)

The current implementation uses sem_open(), which creates semaphores in
a global system namespace; if the caller asks for a process-private
semaphore, it appends a random number to the name to avoid collisions.
Unlike on Windows, these semaphores are not destroyed when the last
handle is closed; they stay around until someone explicitly calls
sem_unlink().  Unfortunately,
10A37
 this means that if the hosting app
crashes, it'll leak semaphores until the system reboots.

On Android, the code uses sem_init() instead.  This is another standard
POSIX function, which has the capability to create true process-private
semaphores, but is not implemented on some platforms, such as macOS
where it just returns ENOSYS - presumably the reason the code path is
limited to Android.

As an entirely separate issue, on macOS, POSIX semaphore names are
limited to only 31 characters.  One of the semaphores created is named
"/ConnectionThreadShutdown", which is 25 characters by itself; after
adding an underscore and a random number, it'll only fit if the random
number happens to be <= 99999!

This commit abandons POSIX semaphores entirely in favor of emulating
process-private semaphores using pthread condition variables.  This
avoids the leak issue and should also be faster.

As for global semaphores, well - nothing in the FTL SDK actually uses
them, so I decided to just remove the is_global argument from
os_semaphore_create() and only support process-private semaphores.

v0.9.13

Toggle v0.9.13's commit message
Bumping the SDK version to v0.9.13

v0.9.12

Toggle v0.9.12's commit message
Bumping the SDK version.

v0.9.11

Toggle v0.9.11's commit message
Bumping the build version number.

v0.9.9

Toggle v0.9.9's commit message
Updating to FTL version 0.9.9.

v0.9.8

Toggle v0.9.8's commit message
Updating all text and urls to mixer.com.

v0.9.7

Toggle v0.9.7's commit message
Fixing a crash if the stream key is invalid.

v0.9.6

Toggle v0.9.6's commit message
bumped version

v0.9.4

Toggle v0.9.4's commit message
Fixing a possibly type conversion error in gettimeofday.c that would …

…lead to incorrect subtracted timevals.

v0.9.3

Toggle v0.9.3's commit message
Bumping version to v0.9.3

0