Commit Graph

91 Commits

Author SHA1 Message Date
Emery Hemingway
9f9510ddb1 libc: implement fstatat by wrapping stat and lstat
Fixes #403
2016-01-13 14:49:11 +01:00
Emery Hemingway
b9c234a341 Libc: sigprocmask reports all signals blocked
Fixes #1756
2016-01-13 11:13:52 +01:00
Emery Hemingway
976833f171 libc: getdtablesize support
Issue #1847
2016-01-08 15:07:57 +01:00
Josef Söntgen
9fb08e045a libports: fix delay in SDL audio backend
Instead of using the 'alloc()' method to allocate new packets use
the 'next()' method with the previous packet. This is needed because
the last audio stack changes broke the semantics assumed by 'alloc()'.

We now keep track of the already queued packets by hand.

Fixes #1827.
2016-01-08 14:48:17 +01:00
Josef Söntgen
b4c5fb2d29 sdl: use Genode::destroy to free framebuffer
Fixes #1838.
2016-01-08 14:37:57 +01:00
Josef Söntgen
48738bbf63 libports: update libssh to 0.7.2
Fixes #1811.
2015-12-10 13:16:29 +01:00
Christian Prochaska
89d3083c9f qt5: update the 'lib_mk_file_generator' README file
Fixes #1813
2015-12-10 13:16:27 +01:00
Stefan Kalkowski
9efa3ceccf pthreads: use simple Genode::Semaphore as backend
Instead of using Timed_semaphore, we can directly use the simpler
Genode::Semaphore for pthread's 'sem_t' type.

Ref #1333
2015-12-10 13:16:27 +01:00
Christian Helmuth
30e129a91b pthread: remove use of private Native_config API
Former Native_config::context_area_virtual_base() was used to identify
the main, which is not desired as the Native_config is rather low-level
(almost private to the base libs). The commit uses a library constructor
to retrieve the main-thread Thread_base pointer, which can be used later
to distinguish main and other threads.
2015-12-10 13:16:24 +01:00
Christian Prochaska
1081af930d qt5: fix possible crash in QPA plugin
Fixes #1793
2015-11-29 18:17:06 +01:00
Christian Prochaska
b766387069 qt5: respond to zero-resized framebuffer
Interpret a zero-resized framebuffer as hint to close the window.

Fixes #1792
2015-11-29 18:17:05 +01:00
Emery Hemingway
1d92631ef0 VFS, File_system: Not_empty
Unlink returns an error for non-empty directories when the backend does
not support recursive unlinking.

Fixes #1750
2015-11-29 18:17:05 +01:00
Christian Prochaska
f6863e3f4b qt5: add clipboard support
If a Qt application shall use the clipboard, this must be configured as:

<config clipboard="yes">

Fixes #1749
2015-11-09 13:17:56 +01:00
Christian Prochaska
97bbc8f965 pthread: don't destroy the pthread object for the main thread
The pthread object for the main thread initializes its 'Thread_base' base
class part with a reference to the 'Thread_base' object of the Genode main
thread. Therefore the pthread object for the main thread should never be
destroyed, as this would also destroy the Genode 'Thread_base' object.

Fixes #1760
2015-11-09 13:08:31 +01:00
Norman Feske
650267b425 libports: fix eglgears example
Thanks to Jamey Sharp for the fix!

Fixes #1670
2015-11-04 14:09:30 +01:00
Emery Hemingway
2da239d0c8 void sync(char const *path)
Sync now takes a path argument at VFS and File system interfaces.

Issue #1648
2015-11-04 14:09:23 +01:00
Christian Helmuth
bbf8a4f2ec lwip: patch for resetting write offset
Otherwise, the assertion "already writing or closing" may fail.
2015-10-06 12:18:57 +02:00
Emery Hemingway
1779a0511b vfs: add new error codes
The codes are OPEN_ERR_NAME_TOO_LONG, OPEN_ERR_NO_SPACE, and
FTRUNCATE_ERR_NO_SPACE.

Issue #1693
2015-10-06 12:18:51 +02:00
Alexander Boettcher
3f611fe00d pthread: handle self destruction better
Defer destruction of threads which tries to self-destruct. Check an perform
cleanup of such threads during pthread_cancel and pthread_create.

Issue #1687
2015-10-06 12:18:51 +02:00
Christian Prochaska
fd533b0c93 qt5: key repeat support
Fixes #1692
2015-09-30 15:48:12 +02:00
Christian Prochaska
0f8fcab3bd qt5: fix use of uninitialized variable
Fixes #1677
2015-09-30 15:48:12 +02:00
Christian Helmuth
6616bd4593 lwip: log thread and sleep forever in assert() 2015-09-30 12:20:40 +02:00
Christian Prochaska
3bf050ed30 qt5: use signal handler for input processing
Fixes #1707
2015-09-30 12:20:39 +02:00
Emery Hemingway
45bcb7f48f Override libc access in Noux plugin
Fixes #1706
2015-09-30 12:20:39 +02:00
Emery Hemingway
5d434944eb libc: support access() in plugins
Fixes #1703
2015-09-30 12:20:38 +02:00
Christian Prochaska
5309bda8b6 libc_lwip: 'fcntl()' fix
The 'O_NONBLOCK' flag has different numerical values in lwip and in the
libc, which prevented the correct setting of nonblocking socket mode.

Fixes #1699
2015-09-30 12:20:38 +02:00
Stefan Kalkowski
5cf8c49cb8 libports: prevent dummy target warnings
Fix #1681
2015-09-16 13:58:50 +02:00
Stefan Kalkowski
ed52d5a211 Introduce 'spec' subdirectories to outline aspects
Instead of holding SPEC-variable dependent files and directories inline
within the repository structure, move them into 'spec' subdirectories
at the corresponding levels, e.g.:

  repos/base/include/spec
  repos/base/mk/spec
  repos/base/lib/mk/spec
  repos/base/src/core/spec
  ...

Moreover, this commit removes the 'platform' directories. That term was
used in an overloaded sense. All SPEC-relative 'platform' directories are
now named 'spec'. Other files, like for instance those related to the
kernel/architecture specific startup library, where moved from 'platform'
directories to explicit, more meaningful places like e.g.: 'src/lib/startup'.

Fix #1673
2015-09-16 13:58:50 +02:00
Christian Helmuth
e8c9125d9f Pseudo target for vfs_jitterentropy
Run script depending on VFS plugins (i.e., shared objects) like
vfs_jitterentropy.lib.so have to state this dependency rather the actual
binaries linked against libc. The latter introduces a library dependency
that is just not there. For example, the dependency on vfs_jitterentropy
is a result from the config node for libc which automatically loads the
plugin.
2015-08-21 11:00:57 +02:00
Christian Helmuth
32da844f01 libc: refactor socket operations 2015-08-21 11:00:57 +02:00
Emery Hemingway
f996697fd5 VFS: local ram_fs instances
Move FS Node implementations from server/ram_fs to include/ram_fs.
Support embedded ram_fs instances in VFS configurations using <ram/>.
Add 'no space' handling to VFS symlink ops.

Fixes #1635
2015-08-21 10:58:40 +02:00
Josef Söntgen
e6995ecad7 sdl: sync tail pointer in SDL_Audio backend
SDL uses the Audio_out session in streaming fashion. For this reason
the audio might be played with delay of at most the queue size. To
mitigate the effect we synchronize the tail pointer to the current play
pointer when the PlayAudio() function is called by SDL for the first
time.

Fixes #1612.
2015-07-07 19:48:06 +02:00
Alexander Boettcher
32e792dc74 libegl: remove i915 gallium support 2015-06-22 14:43:34 +02:00
Norman Feske
e3be65833f vfs: decouple file-system factory from libc
This patch moves the VFS file-system factory to a separate vfs library
that is independent from libc. This enables libc-less Genode programs to
easily use the VFS infrastructure.

Fixes #1561
2015-06-09 11:00:10 +02:00
Christian Helmuth
ba0e1b782e stdcxx: re-enable _GLIBCXX_USE_C99_STDINT_TR1
The option was enabled until version 4.8 and is needed by
std::lock_guard at least.
2015-06-03 12:53:47 +02:00
Adrian-Ken Rueegsegger
6b0b297351 libc_ffat: Fix compiler warning
Fixes #1546
2015-05-28 11:20:00 +02:00
Christian Helmuth
c934ee1650 libc: remove debugging artifact from exit() 2015-05-26 09:39:53 +02:00
Christian Helmuth
05dc764935 qt5: prevent compiler warnings 2015-05-26 09:39:52 +02:00
Christian Prochaska
526d6eed1c libc: fix compiler warning
Fixes #1523
2015-05-26 09:39:51 +02:00
Christian Prochaska
ebcfc28a5b qt5: GCC 4.9 compile fix
Fixes #1515
2015-05-26 09:39:49 +02:00
Emery Hemingway
ed4a821891 jitterentropy: update 20140411 to 1.2.0
Issue #1416
2015-05-26 09:39:48 +02:00
Martin Stein
c9272937e7 CPU session: apply quota via relative weightings
Physical CPU quota was previously given to a thread on construction only
by directly specifying a percentage of the quota of the according CPU
session. Now, a new thread is given a weighting that can be any value.
The physical counter-value of such a weighting depends on the weightings
of the other threads at the CPU session. Thus, the physical quota of all
threads of a CPU session must be updated when a weighting is added or
removed. This is each time the session creates or destroys a thread.

This commit also adapts the "cpu_quota" test in base-hw accordingly.

Ref #1464
2015-05-06 10:55:16 +02:00
Norman Feske
eaab23c012 base: const-correctness of Allocator interface
This patch adds const qualifiers to the functions Allocator::consumed,
Allocator::overhead, Allocator::avail, and Range_allocator::valid_addr.

Fixes #1481
2015-04-17 16:13:22 +02:00
Christian Prochaska
0fd53c7fe4 Extract numeric string arguments with the correct signedness
There are lots of places where a numeric argument of an argument string
gets extraced as signed long value and then assigned to an unsigned long
variable. If the value in the string was negative, it would not be
detected as invalid (and replaced by the default value), but become a
positive bogus value.

With this patch, numeric values which are supposed to be unsigned get
extracted with the 'ulong_value()' function, which returns the default
value for negative numbers.

Fixes #1472
2015-04-13 14:18:15 +02:00
Alexander Boettcher
97758f8468 libc: use correct type for dummy libc functions
as far as possible. Some functions are internal to libc and no public
header are available.

Fixes #1466
2015-03-27 11:53:16 +01:00
Josef Söntgen
2d469cb35c lwip: packet-stream/link-state signals in recv thread
Issue #1327
2015-03-27 11:53:14 +01:00
Josef Söntgen
6c6375aa83 lwip: use netifapi
The netifapi makes sure, that all operations are done in the context of
the tcpip-thread.

Issue #1327.
2015-03-27 11:53:14 +01:00
Josef Söntgen
5518a21692 lwip: clean up patches
Issue #1327.
2015-03-27 11:53:13 +01:00
Norman Feske
560a58e5c6 Move packet stream to Genode namespace, fix #1455 2015-03-19 08:57:22 +01:00
Christian Helmuth
d6f9725548 libc: fix compiler warning (issue #1434) 2015-03-13 12:17:24 +01:00