Commit graph

156 commits

Author SHA1 Message Date
aguspiza
63160855aa Move RLimit and getrlimit to posix.nim and add setrlimit to easily limit FD allocation (#7564) 2018-04-12 17:42:33 +02:00
GULPF
a879973081 Better times module (#6552)
* First work on better timezones

* Update tests to new api.
Removed tests for checking that `isDst` was included when formatting, since `isDst` no longer affects utc offset (the entire utc offset is stored directly in `utcOffset` instead).

* Deprecate getLocaltime & getGmTime
* Add `now()` as a shorthand for GetTIme().inZone(Local)
* Add FedericoCeratto's timezone tests (#6548)
* Run more tests in all timezones

* Make month enum start at 1 instead of 0
* Deprecate getDayOfWeekJulian
* Fix issues with gc safety
* Rename TimeInfo => DateTime
* Fixes #6465
* Improve isLeapYear
* FIx handling negative adjTime

* Cleanup:
- deprecated toSeconds and fromSeconds, added fromUnix and toUnix instead (that returns int64 instead of float)
- added missing doc comments
- removed some unnecessary JS specific implementations

* Fix misstake in JS `-` for Time

* Update usage of TimeEffect
* Removed unecessary use of `difftime`
* JS fix for local tz
* Fix subtraction of months
* Fix `days` field in `toTimeInterval`
* Style and docs
* Fix getDayOfYear for real this time...
* Fix handling of adding/subtracting time across dst transitions
* Fix some bad usage of the times module in the stdlib
* Revert to use proper time resoultion for seeding in random.nim
* Move deprecated procs to bottom of file
* Always use `epochTime` in `randomize`
* Remove TimeInterval normalization
* Fixes #6905

* Fix getDayOfWeek for year < 1
* Export toEpochDay/fromEpochDay and change year/month/monthday order
* Add asserts for checking that the monthday is valid
* Fix some remaining ambiguous references to `Time`
* Fix ambiguous reference to Time
2017-12-18 23:11:28 +01:00
Fredrik Høisæther Rasch
c39e202976 Introduce first class support for Android (#5772) 2017-08-06 02:18:15 +02:00
Jacek Sieka
797301ace8 add back SIG_IGN, SIG_DFL and friends to posix.nim (#5820)
* add back SIG_IGN, SIG_DFL and friends to posix.nim

accidentally wiped by ce86b4ad78

* move deprecated sig_hold after consts include
2017-05-16 13:45:09 +01:00
Jacek Sieka
0055729755 WIFSIGNALED means process has exited too (with a bang!) (#5678) 2017-04-27 21:39:32 +02:00
Jacek Sieka
ce86b4ad78 Posix from detect (#5697)
* refactor posix.nim
* types move to separate files for platform-specifc and generic
("other')
* consts move to separate files that get autogenerated by detect.nim
* proc's stay where they are for now, though in a second stage might
move as well
* fix missing when
2017-04-12 23:10:54 +02:00
Eugene Kabanov
316b680f5d Proper fix for osproc.nim on Android (#5646) 2017-04-02 08:32:54 +02:00
wt
c480505797 Fix wrong value range of ntohs ... (#5390) 2017-03-31 22:13:06 +02:00
Eugene Kabanov
977758fe06 Fix posix.nim dirent structure to be more compatible with OSes. (#5623) 2017-03-29 08:34:07 +02:00
Ryan Gonzalez
244bf68fb0 Fix #5550 (#5553) 2017-03-18 21:05:12 +01:00
Charles Blake
3680cbaf25 Use old approach for Mac OSX which, as of 2016, does not yet support POSIX
high-resolution file times.
2017-02-07 09:39:41 -05:00
Charles Blake
53dfb21d6c Move Timespec up, use in Stat for st_?tim and define accessors for the seconds
portion of the Timespec.
2017-02-07 09:00:19 -05:00
Andreas Rumpf
e22c36dfc2 posix.nim: make new sigaction wrapper compatible with C++ 2017-01-20 12:40:54 +01:00
Andreas Rumpf
ecf1802568 posix.nim add 'sigaction' with 3rd nil parameter 2017-01-19 20:00:31 +01:00
Simon Ruderich
1cee3eb011 posix: add INADDR_LOOPBACK 2016-09-17 18:11:12 +02:00
Simon Ruderich
8ed241a1f0 posix: add mkstemp 2016-09-17 16:57:51 +02:00
Andreas Rumpf
8876ed23f1 expr and stmt are now deprecated 2016-07-30 16:34:42 +02:00
Andreas Rumpf
0834cd63d9 prepare Nim codebase for upcoming parser changes 2016-07-15 12:56:03 +02:00
Ruslan Mustakov
45f76738ee Added 'android4' define support that declares a different gethostbyaddr. Fixes #4376 2016-06-22 20:50:18 +06:00
tormund
ac4201132d Fix android compile time error 2016-06-07 19:24:23 +03:00
Dominik Picheta
a484e3f8c2 Merge branch 'unix-sockets' of https://github.com/girvo/Nim into girvo-unix-sockets 2016-05-30 09:38:37 +01:00
Andreas Rumpf
d727581430 make SO_REUSEPORT independent of Linux header 2016-05-29 22:31:31 +02:00
Andreas Rumpf
7bf7c4d49e Merge pull request #4235 from cheatfate/nosignal
Solaris dont have MSG_NOSIGNAL
2016-05-29 22:22:05 +02:00
Andreas Rumpf
380524caa8 Merge pull request #3648 from FedericoCeratto/reuse_port
Add SO_REUSEPORT support
2016-05-29 22:21:56 +02:00
cheatfate
afc922942d Solaris dont have MSG_NOSIGNAL 2016-05-29 23:01:46 +03:00
Federico Ceratto
6d256ba76e Update posix.nim 2016-04-11 12:07:45 +01:00
Federico Ceratto
8b1faad5a7 Add signal handler
A signal handler to run some code when Unix signals are received
2016-04-10 17:14:38 +01:00
cheatfate
0337bdc821 Add missed library dependencies on Linux and Solaris. 2016-04-03 15:37:45 +03:00
cheatfate
0a5a593682 Patch timer_create and timer_delete to have proper declaration. 2016-04-02 02:17:32 +03:00
Josep Sanjuas
5a582a0d9c Define ports as uint16s to fix #3484 2016-03-27 22:56:44 +02:00
xyz
2befe48e4d Moved ioctl to posix.nim 2016-01-17 15:12:48 -05:00
Federico Ceratto
e174aa1dbc Add SO_REUSEPORT support 2015-12-16 00:42:22 +00:00
Michał Zieliński
da308be2d7 net.nim: add support for Unix sockets 2015-10-28 20:01:48 +01:00
Aman Gupta
2f7802bea3 fix rawsockets test
FAIL: trawsockets.nim
Test "tests/cpp/trawsockets.nim" in category "cpp"
Failure: reNimcCrash
Expected:

Gotten:
Hint: system [Processing]
Hint: trawsockets [Processing]
Hint: rawsockets [Processing]
Hint: unsigned [Processing]
lib/pure/rawsockets.nim(15, 8) Warning: unsigned is deprecated [Deprecated]
Hint: os [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: times [Processing]
Hint: posix [Processing]
CC: compiler_trawsockets
CC: stdlib_system
CC: stdlib_rawsockets
CC: stdlib_unsigned
CC: stdlib_os
CC: stdlib_strutils
Error: execution of an external compiler program 'clang++ -c  -w  -I/Users/tmm1/code/nim/lib -o tests/cpp/nimcache/stdlib_rawsockets.o tests/cpp/nimcache/stdlib_rawsockets.cpp' failed with exit code: 256

tests/cpp/nimcache/stdlib_rawsockets.cpp:355:8: error: assigning to 'NCSTRING' (aka 'char *') from incompatible type 'const char *'
                LOC6 = gai_strerror(gairesult);
                     ^ ~~~~~~~~~~~~~~~~~~~~~~~
tests/cpp/nimcache/stdlib_rawsockets.cpp:499:8: error: assigning to 'NCSTRING' (aka 'char *') from incompatible type 'const char *'
                LOC5 = hstrerror(h_errno);
                     ^ ~~~~~~~~~~~~~~~~~~
tests/cpp/nimcache/stdlib_rawsockets.cpp:650:8: error: assigning to 'NCSTRING' (aka 'char *') from incompatible type 'const char *'
                LOC9 = inet_ntop(AF_INET6, ((void*) (addr6)), result->data, ((NI32)chckRange((result ? result->len : 0), ((NI32) (-2147483647 -1)), ((NI32) 2147483647))));
                     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/cpp/nimcache/stdlib_rawsockets.cpp:771:10: error: assigning to 'NCSTRING' (aka 'char *') from incompatible type 'const char *'
                        LOC17 = inet_ntop(name.sin6_family, ((void*) ((&name))), ((NCSTRING) (buf)), ((NI32)chckRange(((NI)sizeof(TY143006)), ((NI32) (-2147483647 -1)), ((NI32) 2147483647))));
                              ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tests/cpp/nimcache/stdlib_rawsockets.cpp:859:10: error: assigning to 'NCSTRING' (aka 'char *') from incompatible type 'const char *'
                        LOC17 = inet_ntop(name.sin6_family, ((void*) ((&name))), ((NCSTRING) (buf)), ((NI32)chckRange(((NI)sizeof(TY143006)), ((NI32) (-2147483647 -1)), ((NI32) 2147483647))));
                              ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 errors generated.
2015-10-02 16:00:33 -07:00
Bruce Doan
2ffb385611 wait's input is nullable, and it is discardable 2015-09-16 17:39:14 +07:00
Reimer Behrends
b3455d281b Add popen()/pclose() support to posix.nim 2015-07-01 02:39:45 +02:00
Andrew Yourtchenko
61336b2404 Expose INET6_ADDRSTRLEN. 2015-06-24 01:36:09 +02:00
Andrew Yourtchenko
ec33471aee Update posix.Sockaddr_in6 and posix.Sockaddr_storage, deprecate old T* types. 2015-06-24 01:23:09 +02:00
pdw
1c426c613c lib/posix - Dropped 'T' from types 2015-06-04 13:17:11 +02:00
yglukhov
c2a52a9849 Fixed SIGPIPE on MacOS 2015-04-08 11:24:53 +03:00
Jakob Oesterling
ff75cf5c2c fixes https://github.com/Araq/Nim/issues/2116 2015-04-01 00:12:55 +02:00
Reimer Behrends
f5f89f388d Fixed Tdirent definition for OS X and BSD.
Entries d_type etc. were disabled on architectures other than Linux,
but also used for OS X and BSD in os.nim.
2015-03-22 03:54:19 +01:00
Araq
1681800d3c fixes #2116 2015-03-22 01:38:13 +01:00
def
18dd5e1965 Add some posix dirent documentation 2015-02-24 16:52:01 +01:00
def
1adebdc767 Speed up walkDir significantly
We only know that this works on Linux and Mac OS X, so other systems use
the POSIX conforming version still. This removed the lstat call, which
is especially expensive on NFS filesystems for me.
2015-02-24 16:37:54 +01:00
def
c62b204960 Always use 0x40 for POSIX_SPAWN_USEVFORK 2015-02-17 02:33:54 +01:00
Araq
6eb8867f1a fixes #2116 2015-02-13 01:40:29 +01:00
modk
601b262a8d Fixes parallel build on FreeBSD 2015-01-26 00:06:43 +01:00
def
9a36c17c05 Add workaround for TCC to make POSIX_SPAWN_USEVFORK available 2015-01-06 03:53:21 +01:00
Andre
85c22f3348 ignore signal SIGPIPE on Darwin 2014-12-30 23:39:43 +01:00