Don't memcpy the parent capability. Fix #144.

To give the platform developer more freedom in how the Native_capability
class is internally implemented (e.g. turning it into a smart-pointer),
this patch removes the memcpy operation, when transfering the parent-capability
to a new process from the generic code, and let the implementation of the
platform-specific Native_capability decide how the transfer has to be done.
Please refer to issue #144.
This commit is contained in:
Stefan Kalkowski
2012-03-07 11:58:40 +01:00
committed by Norman Feske
parent fa377f0df5
commit 9992efed03
10 changed files with 71 additions and 1 deletions

View File

@ -14,6 +14,8 @@
#ifndef _INCLUDE__BASE__NATIVE_TYPES_H_
#define _INCLUDE__BASE__NATIVE_TYPES_H_
#include <util/string.h>
namespace Codezero {
struct l4_mutex;
@ -140,6 +142,12 @@ namespace Genode {
int dst() const { return _tid.tid; }
Native_thread_id tid() const { return _tid; }
/**
* Copy this capability to another pd.
*/
void copy_to(void* dst) {
memcpy(dst, this, sizeof(Native_capability)); }
};
typedef int Native_connection_state;