| Index: fusl/src/ipc/shmat.c
|
| diff --git a/fusl/src/ipc/shmat.c b/fusl/src/ipc/shmat.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..38db92f9511486fa5ff69001040678e45579e2d3
|
| --- /dev/null
|
| +++ b/fusl/src/ipc/shmat.c
|
| @@ -0,0 +1,17 @@
|
| +#include <sys/shm.h>
|
| +#include "syscall.h"
|
| +#include "ipc.h"
|
| +
|
| +#ifdef SYS_shmat
|
| +void *shmat(int id, const void *addr, int flag)
|
| +{
|
| + return (void *)syscall(SYS_shmat, id, addr, flag);
|
| +}
|
| +#else
|
| +void *shmat(int id, const void *addr, int flag)
|
| +{
|
| + unsigned long ret;
|
| + ret = syscall(SYS_ipc, IPCOP_shmat, id, flag, &addr, addr);
|
| + return (ret > -(unsigned long)SHMLBA) ? (void *)ret : (void *)addr;
|
| +}
|
| +#endif
|
|
|