1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

296 Commits

Author SHA1 Message Date
René Kijewski
10d36df795 pthread: implement reader/writer lock 2014-04-18 16:20:47 +02:00
René Kijewski
3101083f13 pthread: fix spinlock 2014-04-18 03:19:31 +02:00
René Kijewski
3e6bebadd3 Add missing doxygen for pthread funs and structs 2014-04-18 03:19:31 +02:00
Martin
e159d0b38a changed return value to 0 on lookup fail in pthread_self() 2014-04-17 14:31:36 +02:00
Martin
f3566f0b8a changed pthread_self() to return thread IDs > 0 2014-04-16 17:31:47 +02:00
Oleg Hahm
8a86f493b4 Merge pull request #821 from Kijewski/pthrad_cleanup
posix: Add pthread_cleanup handlers
2014-04-09 00:19:17 +02:00
René Kijewski
eaca16d07a Add pthread_barrier_t documentation 2014-04-06 19:25:15 +02:00
René Kijewski
9202a482d5 Add pthread_barrier_* functions
Compare [`pthread_barrier_init`][1].

  [1]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_barrier_init.html
2014-04-06 19:25:15 +02:00
René Kijewski
b44b88a6ed pthread_cleanup: better documentation 2014-04-04 18:03:29 +02:00
René Kijewski
b54962689a posix: Add pthread_cleanup handlers
With `pthread_cleanup_(push|pop)` you can define a function that should
be ran if the thread is exited while it is inside this scope. A thread
can be ended here through an explicit call to `pthread_exit()`, or if
cancellation was requested and a cancellation point was hit.

`pthread_cleanup_*` is mostly only useful together with cancellation
points, and cancellation points are only useful with a cleanup
functionality. Cancellation points are at least partially implemented by
means of `pthread_testcancel()`.

C.f. ["Cancellation Points"][1].

  [1]: http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09_05_02
2014-04-04 18:03:29 +02:00
René Kijewski
de29e4184c Add include paths automatocally for USEMODULES
Application developers use `$(USEMODULES)` in their Makefiles to have
the relevant functionally automagically added to their apps. This even
does basic dependency tracking by means of `Makefile.dep`.

But an important thing is missing: the automatic adding of include
paths. This is inconvenient, error prone, and will hinder the RIOT core
developers in future to change folder structures.
2014-03-29 16:27:55 +01:00
Christian Mehlis
5733015c27 correct copyright and doxygen 2014-03-16 20:00:47 +01:00
Christian Mehlis
60feb7ea37 posix: move posix semaphore in posix module 2014-03-16 19:48:25 +01:00
René Kijewski
46031a0540 posix: Disable debug output of pthreads
`DEBUG_ENABLED` should be enabled during debugging, and disabled
afterwards.
2014-03-03 22:12:25 +01:00
Christian Mehlis
1cc5fa57c1 Merge pull request #839 from mehlis/posix-sleep
posix: added sleep and usleep
2014-03-03 17:23:09 +01:00
Christian Mehlis
1a438b64a5 posix: added sleep and usleep 2014-03-03 17:21:48 +01:00
Christian Mehlis
64fc465a6a pthread: mutex - return the right values 2014-03-03 13:29:28 +01:00
Oleg Hahm
32f918abe8 simplified sched_switch
sched_switch can check ISR itself.
2014-02-25 09:47:58 +01:00
Christian Mehlis
2de9619f21 Merge pull request #758 from Kijewski/issue-755
Fix `pthread_self()` confusion
2014-02-22 18:30:11 +01:00
René Kijewski
ca4337ab4d Fix pthread_self() confusion
This fixes #755.

The pthread ID cannot be reused as soon as the thread ends, because
another thread needs to join it first. `pthread_self()` uses the native
(i.e. RIOT's) thread ID to distinguish itself. A native thread ID can be
reused as soon as the thread ends, since the core knows no join
operation.

In order to not confuse itself with an earlier zombie thread (i.e a dead
non-detached thread, that was not joined, yet), we need to invalidate
the associated native thread ID.

This approach is sane since a dead thread won't call `pthread_self()`
anymore.
2014-02-21 17:44:08 +01:00
René Kijewski
cb423c0ac4 Fix linkage of pthread_reaper_stack 2014-02-21 14:03:55 +01:00
Christian Mehlis
e865022a31 pthread: initial add 2014-02-19 23:39:38 +01:00
Ludwig Ortmann
2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
Martin Lenders
5001925831 Fix my licensing 2014-01-31 15:00:21 +01:00
Oleg Hahm
90f977e7e2 making socket.h MSP430 ready 2014-01-20 14:21:22 +01:00
Oleg Hahm
caf1433389 changed condition in fd.c to check for MCU instead of checking for the board 2014-01-20 14:05:21 +01:00
Martin Lenders
4333467e02 Add auxilary headers 2014-01-17 14:40:57 +01:00
Martin Lenders
419225753c Wrap RIOT socket API 2014-01-17 14:40:57 +01:00
Martin Lenders
96489b85c6 Define stdin, stdout and stderr 2014-01-17 14:40:57 +01:00
Martin Lenders
ab654573e5 Implementation of close() 2014-01-17 14:40:57 +01:00
Martin Lenders
abe65b09bb Implement file descriptor table
Needed for pnet
2014-01-17 14:40:57 +01:00
Martin Lenders
f9ae76fa4b Start POSIX net [pnet] module 2014-01-17 14:40:57 +01:00
Oleg Hahm
593ee623b6 simplify and unify include pathes
additional:
* exporting include path in sys is mandatory for subfolders
* removed duplicate object file in linker call
2014-01-05 16:11:07 +01:00
Oleg Hahm
903ec54a43 making include directives consistent 2013-12-19 15:31:37 +01:00
Hauke Petersen
2df82017a8 Fixed doxygen inconsistensies in sys 2013-12-16 15:09:18 +01:00
Oleg Hahm
9817043ada Merge pull request #375 from LudwigOrtmann/license_header_fix
fix grammar in license header
2013-11-26 10:55:41 -08:00
Ludwig Ortmann
d6c213fb47 fix grammar in license header 2013-11-23 13:11:56 +01:00
Oleg Hahm
1f50d91332 making the pedantic gcc happy 2013-11-23 03:45:26 +01:00
Oleg Hahm
726db0518c added stddef include to strings.h for size_t 2013-11-06 11:42:33 -08:00
Martin Lenders
9f9a48db9f Minor documentation fixes 2013-11-04 13:29:22 +01:00
Martin Lenders
af578b6497 Add POSIX compatible case insensitive compare 2013-11-03 15:04:04 +01:00
Oliver Hahm
5c52e1ce2e coding conventions for most of system libraries 2013-06-22 05:11:53 +02:00
Oliver Hahm
0d6d8390c0 * updated copyright and license headers in various files 2013-06-18 17:21:38 +02:00
Oliver Hahm
7a4dec1830 * replaced new Makefile name in Makefiles 2013-03-09 23:47:21 +01:00
Oliver Hahm
5ffe5a9c27 * renamed makefiles to Makefile 2013-03-09 23:45:56 +01:00
Oleg Hahm
5df0bd0cc4 * updated and integrated makefiles
* added some auto dependencies
2013-02-08 17:37:02 +01:00