#include <lib9.h>
#include <pthread.h>

extern int __isthreaded;
int
ffork(int flags, void(*fn)(void*), void *arg)
{
	void *p;
	pthread_t tid;

	if(flags != (RFMEM|RFNOWAIT)){
		werrstr("ffork unsupported");
		return -1;
	}

	if(pthread_create(&tid, NULL, (void*(*)(void*))fn, arg) < 0)
		return -1;
	return (int)tid;
}

int
getfforkid(void)
{
	return (int)pthread_self();
}

