libdispatch now builds on Linux and ping/pong test runs successfully. #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Set of changes to stub out missing functionality and adapt to Linux.
Key changes are:
(1) introduction of linux_base.h and linux_stubs.[h,c] to
contain stubbed out type definitions and functions.
(2) Copied in BSD's sys/queue.h to shims/sys_queue.h to
provide _SAFE macros that are not available in Linux
version of sys/queue.h
(3) made inclusion of os/base.h conditional
(4) worked around pthread_workqueue only providing 4 levels of
priority by skipping initializing of two pairs of queues:
DISPATCH_ROOT_QUEUE_IDX_BACKGROUND_QOS and
DISPATCH_ROOT_QUEUE_IDX_USER_INTERACTIVE_QOS
(5) temporarily stubbed out a few functions in transpose.c
until an approach to the ByteSwap headers is finalized.
These are marked with #ifdef LINUX_PORT_HDD
(6) partial fix to a bug in semaphore.c where the linux clause
was returning a stack address instead of mallocing memory.
The fix is only partial because the memory should be freed
when the semaphore is destroyed (not done).
Small changes
(a) augmented various .gitignore files for generated artifacts
(b) a few additional functions bodies disabled with
#ifdef LINUX_PORT_HDD (need better fixes, but functions
may not be called).