summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorJaremy Creechley <creechley@gmail.com>2020-08-31 03:48:54 -0600
committerGitHub <noreply@github.com>2020-08-31 11:48:54 +0200
commita76ae8f79584c5a491861daf2efda9908b21e488 (patch)
tree606a21bb285e5f03bf5a93709b151ec0cb34ec92 /lib/pure
parentb5424b826e57c791a751bf31b69549c7d8daab0b (diff)
downloadNim-a76ae8f79584c5a491861daf2efda9908b21e488.tar.gz
Changes for FreeRTOS/LwIP Port for the ESP32 (ESP-IDF) (#15250)
* Changes for FreeRTOS/LwIP Port for the ESP32 (ESP-IDF)

Adding FreeRTOS/LwIP to compiler:

* adding freertos option
* dyncalls for freertos
* add freertos to posix os list
* adding lwip option

Setting up networking FreeRTOS/LwIP Port:

* setting up lwip network for freertos
* fixing posix / networking for freertos
* disable setInheritable for freerots
* using lwip for net control items

* Fix builds by ignoring lib/posix/posix_freertos_consts.nim similar to lib/posix/posix_other_consts.nim
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/ioselects/ioselectors_select.nim2
-rw-r--r--lib/pure/nativesockets.nim2
-rw-r--r--lib/pure/selectors.nim2
3 files changed, 4 insertions, 2 deletions
diff --git a/lib/pure/ioselects/ioselectors_select.nim b/lib/pure/ioselects/ioselectors_select.nim
index 02a853b42..2f22f1b30 100644
--- a/lib/pure/ioselects/ioselectors_select.nim
+++ b/lib/pure/ioselects/ioselectors_select.nim
@@ -312,7 +312,7 @@ proc selectInto*[T](s: Selector[T], timeout: int,
   verifySelectParams(timeout)
 
   if timeout != -1:
-    when defined(genode):
+    when defined(genode) or defined(freertos):
       tv.tv_sec = Time(timeout div 1_000)
     else:
       tv.tv_sec = timeout.int32 div 1_000
diff --git a/lib/pure/nativesockets.nim b/lib/pure/nativesockets.nim
index 49a1192df..0b0c4b398 100644
--- a/lib/pure/nativesockets.nim
+++ b/lib/pure/nativesockets.nim
@@ -269,7 +269,7 @@ proc getAddrInfo*(address: string, port: Port, domain: Domain = AF_INET,
   let socketPort = if sockType == SOCK_RAW: "" else: $port
   var gaiResult = getaddrinfo(address, socketPort, addr(hints), result)
   if gaiResult != 0'i32:
-    when useWinVersion:
+    when useWinVersion or defined(freertos):
       raiseOSError(osLastError())
     else:
       raiseOSError(osLastError(), $gai_strerror(gaiResult))
diff --git a/lib/pure/selectors.nim b/lib/pure/selectors.nim
index 6007a8250..f3726efaa 100644
--- a/lib/pure/selectors.nim
+++ b/lib/pure/selectors.nim
@@ -332,5 +332,7 @@ else:
     include ioselects/ioselectors_select # TODO: use the native VFS layer
   elif defined(nintendoswitch):
     include ioselects/ioselectors_select
+  elif defined(freertos) or defined(lwip):
+    include ioselects/ioselectors_select
   else:
     include ioselects/ioselectors_poll