Commit Graph

6 Commits (9dc0c3737eb2454184ee376f0fe8cc538b5a2ad0)

Author SHA1 Message Date
Kevin Bracey 87396e0bf6 Assembler atomics
Reimplement atomic code in inline assembly. This can improve
optimisation, and avoids potential architectural problems with using
LDREX/STREX intrinsics.

API further extended:
* Bitwise operations (fetch_and/fetch_or/fetch_xor)
* fetch_add and fetch_sub (like incr/decr, but returning old value -
  aligning with C++11)
* compare_exchange_weak
* Explicit memory order specification
* Basic freestanding template overloads for C++

This gives our existing C implementation essentially all the functionality
needed by C++11.

An actual Atomic<T> template based upon these C functions could follow.
2019-04-26 13:12:35 +03:00
Veijo Pesonen 517799fd06 NetworkStack: halts if unable to add an event to the event queue 2019-02-26 09:44:15 +02:00
Kevin Bracey 0f6a4cd0bd InternetSocket: Use atomics, not volatile
Use a better tool for the job.
2019-01-18 15:37:11 +02:00
deepikabhavnani 117eb0bc87 Add socketstats stub functions for unittest and addressed reviews 2018-11-26 09:42:50 -06:00
Taiki 3bc33f6c3e Use the parsing status as a way to detect if the IP string represent a valid IPv6 address 2018-10-23 11:25:52 +02:00
Michal Paszta aa90f5bb78 unittests: Add TCPServer unit tests
TCPServer class only really implements attach method.
2018-09-21 14:23:06 +03:00