Rokas Kupstys
ff1bf74554
Delete fiber context when it exits (memleak fix)
...
Few correctness changes to gc stack management.
2017-02-20 17:24:19 +02:00
Rokas Kupstys
9a754156d7
Added support for exceptions in coroutines and added exception test
...
Fix bug where first coroutine ending would terminate main loop
2017-02-20 17:24:19 +02:00
Rokas Kupstys
373e667dbc
Coroutine rework.
...
* ucontext backend (default on unix)
* setjmp backend
* fibers backend (default and required on windows)
* Fixed coroutine loop timing issues
* Fixed saving of xmm registers on x64 windows
* Fixed alignment issues
* Updated coroutine sample with cooperative fibonacci calculation.
* Disable glibc security features only when platform jump functions are used
* Removed dependency on fasm.
* Using fiber api on windows.
* Other platforms and compilers will use built in assembler and .S files or API provided by platform libc.
* Replaced stack switching procs with `coroExecWithStack()` which never returns. This makes compiler always generate proper code.
2017-02-20 17:24:19 +02:00
Araq
9303a02d6b
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-02-17 18:04:09 +01:00
fenekku
e9767d8809
Fix reverse on empty openArray ( #5407 )
...
Reversing an empty `openArray` would raise a RangeError. For instance for `a: seq[int] = @[]`, we have `a.high` return `-1` but `-1` is not a `Natural`. Leaving the array as-is is the expected behaviour.
2017-02-17 08:26:49 +01:00
Araq
5620e08563
minor documentation improvements
2017-02-17 00:00:39 +01:00
Araq
5d4ed1117d
distros.nim: brew usually doesn't require 'sudo'
2017-02-16 22:53:32 +01:00
Dominik Picheta
a336bf2395
Fixes parseHeader("foo:") != ("foo", @[""]). Refs #5344 .
2017-02-13 21:14:29 +01:00
Ruslan Mustakov
92665e6e9a
Add hash proc for cstrings ( #5386 )
2017-02-13 13:38:30 +01:00
flyx
ac9c2126e6
Added BiggestUInt ( #5378 )
2017-02-13 11:20:07 +01:00
Federico Ceratto
0d1aa9225a
Make walkDirRec docstring more clear ( #5377 )
2017-02-12 16:02:50 +01:00
Dominik Picheta
f9f86899b5
Implement streamed async/sync downloadFile and deprecate old one.
2017-02-11 14:00:53 +01:00
Dominik Picheta
1b4067a81b
Implement streamed body reading in httpclient.
2017-02-11 12:43:16 +01:00
Dominik Picheta
77071eb767
FutureStream's cb call behaviour fixed + other fixes.
2017-02-11 12:42:30 +01:00
Dominik Picheta
4a7ea8f865
Add support for Async | Sync return types in {.multisync.} macro.
2017-02-11 12:39:37 +01:00
Dominik Picheta
2f502e2a9e
Remove immediate FutureStream procs and make 'put' awaitable.
2017-02-10 20:40:32 +01:00
Dominik Picheta
ddd3d3f44a
Improve implementation of takeAsync for FutureStreams.
2017-02-10 20:18:59 +01:00
Yuriy Glukhov
69fb2c6152
Fixed heapqueue.del for last elem ( #5363 )
2017-02-10 10:15:43 +01:00
Dominik Picheta
7766fdfec1
Implemented a first working version of FutureStreams.
2017-02-10 00:06:18 +01:00
Dominik Picheta
c4d5cc652f
Work around issue with queues. Refs #4773 .
2017-02-10 00:05:42 +01:00
Dominik Picheta
3286480985
Improve error message when a nil future is await'ed.
2017-02-09 23:07:10 +01:00
Dominik Picheta
e189004a03
WIP implementation of FutureStream.
2017-02-09 22:46:20 +01:00
Araq
3caf108425
system/unicode: check for buffer overflows; refs #5284
2017-02-08 15:22:36 +01:00
Dominik Picheta
0535b6b6bf
Implement SSL SNI hostname setting for asyncnet.
2017-02-08 00:04:40 +01:00
Dominik Picheta
7c15120247
Add some tests to httpcore related to #5344 .
2017-02-07 18:32:57 +01:00
Araq
8ae05c6555
cleaned up accept-close-race fix #5279
2017-02-07 14:59:46 +01:00
Araq
4790b6b203
Merge branch 'accept-close-race-5279' of https://github.com/endragor/Nim into endragor-accept-close-race-5279
2017-02-07 14:44:27 +01:00
Ruslan Mustakov
7a839d7b02
Move checkCloseError to nativesockets
2017-02-07 16:45:59 +07:00
Arne Döring
2c6c865b35
reenabled clear test, made clear working ( #5323 )
2017-02-02 23:06:13 +01:00
Araq
e236039d10
make tests on Windows green under --pedantic
2017-02-02 21:12:36 +01:00
Ruslan Mustakov
fb8168d338
Fix Windows accept() to fail future instead of raising
...
Resolves : #5279
2017-02-01 18:18:44 +07:00
Eugene Kabanov
d90f3f59ac
Fixes for upcoming asyncdispatch and ioselectors. ( #5309 )
2017-02-01 12:12:26 +01:00
Ruslan Mustakov
8b10609452
Allow .async pragma on methods ( #5312 )
2017-02-01 08:50:30 +01:00
Andreas Rumpf
76eb20d2d3
deprecated nativesockets.dealloc, use freeAddrInfo instead; fixed stdlib deprecations
2017-01-30 08:50:57 +01:00
cheatfate
210ac5c138
One more fix for #5290 .
2017-01-28 10:34:13 +02:00
Andreas Rumpf
1bf78618fe
Merge branch 'fix5290' of https://github.com/cheatfate/Nim into cheatfate-fix5290
2017-01-27 18:51:46 +01:00
cheatfate
9c2721c8bb
Fix mistake
2017-01-27 14:12:26 +02:00
cheatfate
e84efc4d01
asyncdispatch exception memory leaks fixes.
2017-01-27 12:14:53 +02:00
cheatfate
4b95819146
Fix #5290 .
...
Some cosmetic changes.
2017-01-27 11:08:57 +02:00
Araq
376f6efa80
make segfaults compilation robust on Windows
2017-01-27 09:49:17 +01:00
Yuriy Glukhov
c8dcf8993f
Added heapqueue.del ( #5289 )
2017-01-27 08:22:17 +01:00
cheatfate
6caefcc573
oops.
2017-01-26 18:41:22 +02:00
cheatfate
78e3bd392c
Fix changes table must be SharedArray when hasThreadSupport.
2017-01-26 18:28:34 +02:00
Andreas Rumpf
303c49b9f3
memory tracker is aware of threads (still not threadsafe though)
2017-01-26 11:26:02 +01:00
David Krause
b20817c3fb
added default param to strtabs.getOrDefault ( #5280 )
2017-01-26 10:34:02 +01:00
Jeff Ciesielski
74ae66ddbc
Add volatile load/store ( #5263 )
...
Adds volatile load/store capability to the impure part of the standard
library. Note that this currently only supports numerical types.
Should resolve https://github.com/nim-lang/Nim/issues/3382
2017-01-25 20:02:19 +01:00
Ruslan Mustakov
35d48765fb
Use onThreadCreation to set default SSL context for each thread ( #5265 )
...
Fixes : #4998
2017-01-23 21:04:14 +01:00
Dominik Picheta
9e723166fe
Merge pull request #5250 from yglukhov/http-redirect
...
Redirects support in request proc
2017-01-21 11:48:50 +01:00
Dominik Picheta
e634ee858c
Merge pull request #5255 from enthus1ast/devel
...
added isAbsolute to uri.nim
2017-01-21 11:44:52 +01:00
enthus1ast
f2ce8eb372
more isAbsolute tests for uri.nim
...
Signed-off-by: enthus1ast <enthus1ast>
2017-01-21 02:54:38 +01:00