16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
*/
#define OF_THREAD_M
#define _POSIX_TIMERS
#define __NO_EXT_QNX
#include "config.h"
#include <stdlib.h>
#include <math.h>
#include <time.h>
#ifdef OF_HAVE_SCHED_YIELD
# include <sched.h>
|
>
>
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
*/
#define OF_THREAD_M
#define _POSIX_TIMERS
#define __NO_EXT_QNX
#include "config.h"
#include <errno.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#ifdef OF_HAVE_SCHED_YIELD
# include <sched.h>
|
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
|
[self retain];
_running = OF_THREAD_RUNNING;
if (!of_thread_new(&_thread, callMain, self, &_attr)) {
[self release];
@throw [OFThreadStartFailedException exceptionWithThread: self];
}
}
- (id)join
{
if (_running == OF_THREAD_NOT_RUNNING || !of_thread_join(_thread))
@throw [OFThreadJoinFailedException exceptionWithThread: self];
_running = OF_THREAD_NOT_RUNNING;
return _returnValue;
}
- (id)copy
|
|
>
>
|
|
>
>
>
>
>
>
|
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
|
[self retain];
_running = OF_THREAD_RUNNING;
if (!of_thread_new(&_thread, callMain, self, &_attr)) {
[self release];
@throw [OFThreadStartFailedException
exceptionWithThread: self
errNo: errno];
}
}
- (id)join
{
if (_running == OF_THREAD_NOT_RUNNING)
@throw [OFThreadJoinFailedException
exceptionWithThread: self
errNo: EINVAL];
if (!of_thread_join(_thread))
@throw [OFThreadJoinFailedException exceptionWithThread: self
errNo: errno];
_running = OF_THREAD_NOT_RUNNING;
return _returnValue;
}
- (id)copy
|