}
/* incremental sync daemon. Writes all dirty buffers every 5000 ms */
-void buf_IncrSyncer(long parm)
+static void *
+buf_IncrSyncer(void * parm)
{
long wasDirty = 0;
long i;
wasDirty = buf_Sync(1);
} /* whole daemon's while loop */
+
+ pthread_exit(NULL);
+ return NULL;
}
long
{
static osi_once_t once;
cm_buf_t *bp;
- thread_t phandle;
+ pthread_t phandle;
+ pthread_attr_t tattr;
+ int pstatus;
long i;
- unsigned long pid;
char *data;
if ( newFile ) {
osi_EndOnce(&once);
/* and create the incr-syncer */
- phandle = thrd_Create(0, 0,
- (ThreadFunc) buf_IncrSyncer, 0, 0, &pid,
- "buf_IncrSyncer");
+ pthread_attr_init(&tattr);
+ pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED);
+
+ pstatus = pthread_create(&phandle, &tattr, buf_IncrSyncer, 0);
+ osi_assertx(pstatus == 0, "buf: can't create incremental sync proc");
- osi_assertx(phandle != NULL, "buf: can't create incremental sync proc");
- CloseHandle(phandle);
+ pthread_attr_destroy(&tattr);
}
#ifdef TESTING