Commit graph

116 commits

Author SHA1 Message Date
c-blake
b2a5195e92 Add a standard Rusage type definition and wait4, getrusage declarations (#10484) 2019-01-29 21:25:08 +01:00
Andreas Rumpf
88dcad7c01
Merge pull request #9862 from zevv/posix-cmsg
Added CMSG_SPACE and CMSG_LEN macros to posix.nim
2018-12-05 08:11:27 +01:00
Ico Doornekamp
c37fdbf843 Added CMSG_SPACE and CMSG_LEN macros to posix.nim 2018-12-04 21:17:22 +01:00
Araq
3f6168b337 removes deprecated T/P types 2018-11-16 13:27:56 +01:00
Sebastian Schmidt
621ef18478 inject sig from anonymous proc instead of for loop 2018-09-24 23:49:13 +02:00
Vindaar
4c6382a334 fix posix.onSignal example, inject current signal as s 2018-09-24 11:21:45 +02:00
Vindaar
681d8e0749 Deprecate 'c', 'C' prefix for octal literals, fixes #8082 (#8178)
* deprecate `0c`, `0C` prefix for octal literals

Deprecates the previously allowed syntax of `0c` and `0C` as a prefix for
octal literals to bring the literals in line with the behavior of
`parseOct` from parseutils.

* add `msgKind` arg to `lexMessageLitNum` for deprecation messages

* change literal tests to check all valid integer literals

Also adds the `tinvaligintegerlit3` test to test for the (still)
invalid `0O` prefix.
2018-07-03 01:56:36 +02:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Oscar Nihlgård
05b447374b Use higher time resolution when available in os.nim (#7709) 2018-06-04 14:56:56 +02:00
Jacek Sieka
72dfe176f5 remove dead code elimination option (#7669) 2018-04-23 11:02:38 +02:00
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