EVFILT_WRITE = C.EVFILT_WRITE
)
-type Tfork C.struct___tfork
+type TforkT C.struct___tfork
type SigaltstackT C.struct_sigaltstack
type Sigcontext C.struct_sigcontext
type Timeval C.struct_timeval
type Itimerval C.struct_itimerval
-type Kevent C.struct_kevent
+type KeventT C.struct_kevent
EVFILT_WRITE = -0x2,
};
-typedef struct Tfork Tfork;
+typedef struct TforkT TforkT;
typedef struct SigaltstackT SigaltstackT;
typedef struct Sigcontext Sigcontext;
typedef struct Siginfo Siginfo;
#pragma pack on
-struct Tfork {
+struct TforkT {
byte *tf_tcb;
int32 *tf_tid;
byte *tf_stack;
EVFILT_WRITE = -0x2,
};
-typedef struct Tfork Tfork;
+typedef struct TforkT TforkT;
typedef struct SigaltstackT SigaltstackT;
typedef struct Sigcontext Sigcontext;
typedef struct Siginfo Siginfo;
#pragma pack on
-struct Tfork {
+struct TforkT {
byte *tf_tcb;
int32 *tf_tid;
byte *tf_stack;
static Sigset sigset_none;
static Sigset sigset_all = ~(Sigset)0;
-extern int32 runtime·tfork(void *param, uintptr psize, M *mp, G *gp, void (*fn)(void));
+extern int32 runtime·tfork(TforkT *param, uintptr psize, M *mp, G *gp, void (*fn)(void));
extern int32 runtime·thrsleep(void *ident, int32 clock_id, void *tsp, void *lock, const int32 *abort);
extern int32 runtime·thrwakeup(void *ident, int32 n);
void
runtime·newosproc(M *mp, void *stk)
{
- Tfork param;
+ TforkT param;
Sigset oset;
int32 ret;
param.tf_stack = stk;
oset = runtime·sigprocmask(SIG_SETMASK, sigset_all);
- ret = runtime·tfork((byte*)¶m, sizeof(param), mp, mp->g0, runtime·mstart);
+ ret = runtime·tfork(¶m, sizeof(param), mp, mp->g0, runtime·mstart);
runtime·sigprocmask(SIG_SETMASK, oset);
if(ret < 0) {
func kqueue() int32
func kevent(fd int32, ev1 unsafe.Pointer, nev1 int32, ev2 unsafe.Pointer, nev2 int32, ts unsafe.Pointer) int32
func closeonexec(fd int32)
-func tfork(param unsafe.Pointer, psize uintptr, mm, gg, fn unsafe.Pointer) int32
+func tfork(param *tforkt, psize uintptr, mm, gg, fn unsafe.Pointer) int32
func thrsleep(ident unsafe.Pointer, clock_id int32, tsp, lock, abort unsafe.Pointer) int32
func thrwakeup(ident unsafe.Pointer, n int32) int32