getpid
This commit is contained in:
@@ -9,6 +9,9 @@
|
||||
|
||||
void *operator new(size_t, void *);
|
||||
|
||||
#include "../user/app1/appl.h"
|
||||
extern Application apps[];
|
||||
|
||||
namespace Syscall {
|
||||
namespace Skeleton {
|
||||
size_t test(Vault &vault, size_t p1, size_t p2, size_t p3, size_t p4,
|
||||
@@ -20,8 +23,10 @@ size_t test(Vault &vault, size_t p1, size_t p2, size_t p3, size_t p4,
|
||||
}
|
||||
|
||||
int getpid(Vault &vault) {
|
||||
(void)vault;
|
||||
return -1;
|
||||
Thread *me = vault.scheduler.active();
|
||||
unsigned id = 0;
|
||||
while (&apps[id++] != me); // TODO find better pid source
|
||||
return id;
|
||||
}
|
||||
|
||||
size_t write(Vault &vault, uint32_t id, const void *buffer, size_t size, int x, int y) {
|
||||
@@ -45,6 +50,8 @@ size_t write(Vault &vault, uint32_t id, const void *buffer, size_t size, int x,
|
||||
}
|
||||
|
||||
size_t read(Vault &vault, uint32_t id, void *buf, size_t len) {
|
||||
(void)id;
|
||||
|
||||
size_t read_cnt = 0;
|
||||
while(read_cnt <= len){
|
||||
Key key;
|
||||
|
||||
Reference in New Issue
Block a user