justin
7b800c0c00
Modern Android SDK does not need special cases
2015-01-17 19:34:50 +00:00
justin
61b4fed96a
Always use kqueue for BSDs in librumpclient
...
Tested now on the others
2014-12-13 17:18:55 +00:00
justin
7e80a07c88
Use kqueue in librumpclient for FreeBSD too
2014-12-08 01:10:07 +00:00
pooka
d9bf6db7cc
pretend to handle the poll return value for -Wunused-but-set
2014-04-25 12:20:12 +00:00
pooka
e8083ecf03
Make sure holyfd is -1 when rumpclient_init() is called for
...
the first time after fork to prevent fd 0 from being closed.
should fix test failures, thanks to martin for the prod
2014-04-03 17:11:35 +00:00
justin
95e41b89b5
Add Android support for rump kernel.
...
Reviewed by pooka@
2014-04-02 17:09:23 +00:00
pooka
e152ae2df5
fix build on NetBSD. also, prevent fd leak in error path
2014-04-02 15:04:19 +00:00
pooka
90c25cb369
On Linux, poll signalfd() when waiting for a kernel response.
...
This allows the same type of race-free handling of signals as kqueue()
allows on NetBSD. One of the noticeable things is that you can now
interrupt rumprun ping mid-interval on Linux.
per suggestion from Justin Cormack
2014-04-02 14:48:03 +00:00
pooka
94265f339d
Use MAP_ANON|MAP_PRIVATE for anonymous memory mapping,
...
e.g. Linux gets upset if just MAP_ANON.
2014-02-26 02:03:40 +00:00
pooka
437e54a701
Translate signal numbers between rump kernel and (POSIX) host.
2014-02-20 00:42:27 +00:00
pooka
4194c8cb75
-I../librumpuser is still required for sp_common.c
2013-09-10 17:39:10 +00:00
pooka
0f188198a5
use <rump/rumpuser_port.h>
2013-09-10 16:53:06 +00:00
pooka
5666bf4b73
Make it possible for external parties to specify additional dplibs.
...
This is useful for example on platforms which require -ldl.
2013-05-15 20:27:00 +00:00
wiz
2b38e53a58
Standardize Lb argument.
2013-03-08 08:30:44 +00:00
pooka
848ac0dab2
Provide register_t compat on solarisa.
...
(would be nice to handle register_t compat internally instead, but the
interface was already exposed in a release)
2013-01-20 15:23:21 +00:00
pooka
70a67dcd9b
fix the extern "C" stuff
2013-01-17 22:16:59 +00:00
pooka
56665b94f0
Solaris 10 fixes
2013-01-17 20:47:44 +00:00
pooka
5c4b55ca89
If the host doesn't support RTLD_NEXT, don't play the dynamic linking game.
2013-01-17 16:29:44 +00:00
pooka
1220d53611
attempt to inform user of what the error means
2012-09-12 12:38:16 +00:00
msaitoh
e093807b3b
Remove unused variable. Approved by pooka.
2012-08-29 10:38:53 +00:00
pooka
932ef25ea7
force-terminate commname
2012-08-03 14:52:31 +00:00
pooka
fa3922be63
Make librumpclient compile and work on Linux. This is accomplished by:
...
1) avoid "NetBSD'isms" in the rumpclient sources
2) do not require the knowledge of unnecessary weird_t's in syscallargs.h
for rumpclient
2012-08-03 11:31:33 +00:00
matt
e1a2f47f12
Use C89 function definition
2012-03-21 10:10:36 +00:00
joerg
41a3b9d2d6
Request always_inline for rumpclient__dofork, it won't work correctly
...
for vfork otherwise. Also give it the returns twice attribute to ensure
that the stack tainting is done recursively.
2011-12-16 23:19:28 +00:00
joerg
a5a75c0cc8
Mark rumphijack_dlsym explicitly as weak to prevent optimisations based
...
on pointer (non-)identity of it and rumpclient__dlsym.
2011-12-12 16:53:53 +00:00
joerg
c7d626a65f
Don't use K&R syntax
2011-12-12 15:21:32 +00:00
alnsn
df45d61f55
Save/restore errno in error path in dupgood. Check that n>0 before
...
accessing banner[n-1].
Approved a while ago by pooka@
2011-04-30 12:25:05 +00:00
pooka
754d118ee3
don't spam connection errors to stderr by default
2011-03-15 09:35:05 +00:00
pooka
a7f297977b
* use _exit() instead of exit() in retryconn=die: atexit() handlers
...
may hang if the server is dead
* consistent use of data
2011-03-09 15:09:21 +00:00
pooka
57a486416f
need -I${.OBJDIR} now
2011-03-08 19:11:27 +00:00
pooka
c057875f13
create srcsys symlink
2011-03-08 18:30:24 +00:00
pooka
d06a7e799a
and for my next trick, i'm going to spell ARGSUSED correctly
2011-03-08 18:28:01 +00:00
pooka
e48cccc4df
lint love
2011-03-08 18:25:16 +00:00
pooka
7905447e1d
Since we ~never have a frame waiting on the initial call to waitresp,
...
call kevent before readframe. Doesn't really affect performance,
but makes ktraces shorter ;)
2011-03-08 15:55:12 +00:00
pooka
00e34b229c
Use sendmsg() instead multiple calls to sendto(). It behaves
...
slightly better in the multithreaded exec case in terms of partial
frames sent. Plus, it's theoretically a little cheaper.
There's still a gray area with partial transfer from sendmsg(),
but I'm not sure I care enough about some academic scenario to
start fixing it (it basically needs an OOB exec signaller).
2011-03-08 15:34:37 +00:00
pooka
ee6e286c6f
Take reasonable precautions against init in a parent process
...
which did a rump-transparent host-only fork().
2011-02-27 12:58:29 +00:00
pooka
9e33d7d6e2
fix __RCSID
2011-02-25 15:12:06 +00:00
pooka
8c15d641b0
Fix static fallback path.
2011-02-24 14:22:04 +00:00
pooka
b8eb9b59e8
Make the rumphijack dlsym trampoline call from rumpclient a "real"
...
function call instead of a call through a function pointer.
Apparently powerpc ld.elf_so gets __hackish_return_address() wrong
if the call is done through a function pointer (digging deeper into
that stuff is beyond my interest).
Thanks to riz for providing access to a macppc for debugging.
Unthanks to the broken toolchain in the default installation which
wasted approximately 4 hours of time last night.
2011-02-24 12:25:44 +00:00
pooka
e1463ae3cd
Die with a sensible error message if a symbol cannot be found.
2011-02-24 09:52:34 +00:00
tron
fb1591b100
Remove "NOLINT" setting that was apparently committed by accident and
...
breaks the build.
2011-02-22 17:32:49 +00:00
pooka
97c20c765b
Disable string aliasing for rump_syscalls.c. I can't figure out
...
how to otherwise make the kernel's register_t coreography to work
with the return value here in a MI fashion.
2011-02-22 14:02:54 +00:00
pooka
4674f09289
I think I skipped the class where they taught that multiplication
...
is done before addition...
2011-02-18 16:22:10 +00:00
wiz
cd90032d22
Use more appropriate markup. Fix a typo.
2011-02-17 17:03:17 +00:00
pooka
2e866e7646
add some excuse of a manpage for librumpclient
2011-02-16 23:45:40 +00:00
tron
aa934b7969
Include "sys/null.h" to get the definition of NULL.
2011-02-16 22:35:41 +00:00
pooka
f8af939582
fix signature of rumpclient_fork()
2011-02-16 19:58:01 +00:00
pooka
2e5776377c
* set default server connection retry to 0 (no reconnection attempts).
...
while for some cases attempting retry after server restart works
brilliantly (e.g. firefox), in other cases it's quite disasterous
(sshd doesn't like its file descriptors going missing and does not
attempt to reopen them, leading to a quite catastophic loop of
EBADF once the server does come back)
* rename RUMPHIJACK_RETRY to the slightly more sensible
RUMPHIJACK_RETRYCONNECT
2011-02-16 19:26:58 +00:00
pooka
36f6818061
Support vfork. Add rumpclient wrapper for daemon(3).
2011-02-16 17:56:46 +00:00
pooka
f4ba3dcd9e
Push the fiddly tasks for exec and fork from rumphijack to rumpclient.
...
This makes it possible easily execute those operations also from
non-hijacked rump clients (plus fixes one memory leak in an error
branch).
2011-02-16 15:33:46 +00:00