f9b2e9aba4
kernel: generalize awake
...
Awake can now interrupt several blocking syscalls (even
during note handling).
Among others, it can interrupt await, pread and pwrite.
It cannot interrupt several others for different reasons:
- awake cannot be interrupted by awake;
- syscalls like remove and create can be used for kernel comunication
and it would be hard to know if the effect occurred in the
receiving fs if they were interrupted;
- other syscalls do not need awake since they just provide access
to kernel infos (eg seek or fd2path)
NOTE: awakes registered before a note cannot occur during the note
handling and will be deferred till the next call to noted.
2017-05-15 00:05:59 +02:00
79f8204766
kern: move tsemaquire to userspace (given a generalized awake)
2017-05-12 11:13:19 +02:00
46664994d4
libposix: fix usleep
2017-05-12 11:13:08 +02:00
aa4172a1de
libposix: document timers
2017-05-08 23:46:19 +02:00
a3791c88f7
libposix: add usleep
2017-05-08 23:45:46 +02:00
d62ca1162f
Merge branch 'libposix-new-signals' of https://bitbucket.org/tesio/jehanne into libposix-new-signals
2017-05-08 22:54:34 +02:00
edc116ef45
libposix: documented new signal machinery
2017-05-08 00:43:35 +02:00
48ea61ab9c
newlib: more tests for signals
2017-05-08 00:36:04 +02:00
333d5dcbcd
Merge branch 'master' into libposix-new-signals
2017-05-07 19:44:47 +02:00
1263399c0b
qa: check devproc start/stop ctl msg
2017-05-07 19:32:55 +02:00
b08218529d
devproc: can't wait for up to stop
2017-05-06 16:03:16 +02:00
8d5eb5914f
libposix: fix default_signal_disposition
2017-05-06 13:33:08 +02:00
da0381a213
libposix: big refactor of signal handling
2017-05-05 19:01:18 +02:00
ecd6dddf86
qa/kern: ensure awake in signal handlers is not affected by sleep
2017-05-04 19:55:55 +02:00
0b193807b6
qa: ensure awake works correctly in signal handlers
...
Jehanne's notes (like Plan9 ones) are not reentrant.
Thus an alarm can not be used to interrupt a syscall in a note handler.
Awake instead works properly also in a note handler.
2017-05-04 01:07:32 +02:00
bd8ced55f1
qa: fix CID 168327 and CID 168326
2017-05-04 00:22:50 +02:00
ec8d3427b7
qa: fix newlib test (CID 168329 and CID 168328)
2017-05-04 00:17:19 +02:00
6480cd0293
newlib: fix kill and signal trampoline
2017-05-03 23:37:43 +02:00
d29859684b
libposix: complete POSIX_signal_execute
2017-05-03 03:02:56 +02:00
3b35743a64
qa: nested_note checks that notes are enqueued in kernel
2017-05-03 02:23:26 +02:00
bd5063666f
libposix: introduce POSIX_signal_execute and PosixSignalDisposition enum
2017-05-03 01:14:53 +02:00
47573e2122
newlib: add 201-signals (broken as no default action occurs in newlib)
2017-05-02 01:15:10 +02:00
cf974abe0e
libposix: (almost working) waitpid
2017-05-02 00:57:18 +02:00
be7c067507
newlib: fix qa_exit_translator in qa tests
2017-05-02 00:18:52 +02:00
8c33c921b4
libposix: draft waitpid (still broken)
2017-05-01 23:57:05 +02:00
690a89d3ce
newlib: add test for waitpid (to implement)
2017-05-01 12:03:49 +02:00
d49ba60dcb
newlib: implement sleep and pipe
2017-04-30 17:01:45 +02:00
bd22e5154c
qa: wait for child in newlib/200-signals
2017-04-30 16:55:13 +02:00
14934ee51f
libposix: sleep and pipe
2017-04-30 16:49:50 +02:00
3707eaece6
libposix: simplify kill
2017-04-30 16:49:01 +02:00
d0b9ae9cac
newlib: first test for signals
2017-04-29 00:33:54 +02:00
b9304545f6
newlib: fix open_translator
2017-04-28 23:15:38 +02:00
28539041d0
newlib: one more test (fread)
2017-04-28 23:15:03 +02:00
2481b01515
qa: introduce runners and more tests for newlib
...
For each test, if a script exists with the same name of the test
plus the .runner suffix, the runner is run instead of the test.
As a first example qa/lib/newlib/testsuite/atexit is run by
qa/lib/newlib/testsuite/atexit.runner.
These .runner scripts allow more complex checks of the side effects
generated by the test.
2017-04-28 00:47:12 +02:00
ac33157c37
kern: usbehcipc.c fix CID 155940: Out-of-bounds write
2017-04-25 16:07:47 +02:00
80a8501c05
kern/ip/gre: fix CID 156224: Uninitialized scalar variable
2017-04-25 15:53:20 +02:00
ea6f34f4f7
kern: mark pexit() as noreturn
...
Since pexit() calls sched() it wont return to the caller.
Should fix
- CID 155655: Missing break in switch
- CID 155672: Missing break in switch
2017-04-24 09:55:45 +02:00
5c8200b9da
qa: simple infrastructure to test output expectations
2017-04-24 00:06:33 +02:00
7ab8fecd80
newlib: qa checks from RedHat tests suite
2017-04-23 23:50:20 +02:00
b9acacfcc8
coverity-scan.sh: set CPATH to workaround cross-compiling issues
2017-04-23 14:04:35 +02:00
ac1176d9ff
newlib: set CPATH for coverity too
2017-04-23 13:36:49 +02:00
bd3884cc9c
README.md: git submodule update --depth 1 (as newlib has a lot of history)
2017-04-23 12:25:10 +02:00
e0901def6d
continuous-build.sh: set CPATH to workaround cross-compiling issues
2017-04-22 18:57:25 +02:00
2c9e1fa260
newlib: fix typo
2017-04-22 18:30:06 +02:00
c983cc4c59
newlib: set CPATH to cross compiler's includes
2017-04-22 18:25:31 +02:00
860f67ca6e
newlib: travis-ci madness... why? why?
2017-04-22 18:06:31 +02:00
03fabf2031
newlib: travis-ci madness... why?
2017-04-22 18:05:04 +02:00
b5fc12ec37
.travis.yml: try gcc-4.9
2017-04-22 17:47:51 +02:00
c159c88b4d
newlib: travis-ci madness
2017-04-22 17:46:49 +02:00
12c928f7f0
newlib: fix host configuration
2017-04-22 14:35:11 +02:00