mirror of
https://github.com/moparisthebest/hexchat
synced 2024-11-27 03:32:15 -05:00
34 lines
467 B
C
34 lines
467 B
C
|
#include <fcntl.h>
|
||
|
#include "thread.h"
|
||
|
|
||
|
thread *
|
||
|
thread_new (void)
|
||
|
{
|
||
|
thread *th;
|
||
|
|
||
|
th = calloc (1, sizeof (*th));
|
||
|
if (!th)
|
||
|
{
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
if (_pipe (th->pipe_fd, 4096, _O_BINARY) == -1)
|
||
|
{
|
||
|
free (th);
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
return th;
|
||
|
}
|
||
|
|
||
|
int
|
||
|
thread_start (thread *th, void *(*start_routine)(void *), void *arg)
|
||
|
{
|
||
|
DWORD id;
|
||
|
|
||
|
CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)start_routine, arg, 0, (DWORD *)&id));
|
||
|
th->threadid = id;
|
||
|
|
||
|
return 1;
|
||
|
}
|