Skip to content

Instantly share code, notes, and snippets.

@douyw
Created November 12, 2012 00:04
Show Gist options
  • Save douyw/4056816 to your computer and use it in GitHub Desktop.
Save douyw/4056816 to your computer and use it in GitHub Desktop.
Launch a pthread
#include <assert.h>
#include <pthread.h>
void* PosixThreadMainRoutine(void* data)
{
// Do some work here.
return NULL;
}
void LaunchThread()
{
// Create the thread using POSIX routines.
pthread_attr_t attr;
pthread_t posixThreadID;
int returnVal;
returnVal = pthread_attr_init(&attr);
assert(!returnVal);
returnVal = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
assert(!returnVal);
int threadError = pthread_create(&posixThreadID, &attr, &PosixThreadMainRoutine, NULL);
returnVal = pthread_attr_destroy(&attr);
assert(!returnVal);
if (threadError != 0)
{
// Report an error.
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment