Differences From Artifact [ec9f55781b]:
- File src/thread_amiga.m — part of check-in [b7badc68a0] at 2019-09-01 15:20:30 on branch trunk — Use u suffix on a few constants (user: js, size: 4380) [annotate] [blame] [check-ins using]
To Artifact [64c90b6dca]:
- File
src/thread_amiga.m
— part of check-in
[77780c7596]
at
2019-09-01 15:29:31
on branch trunk
— OFThread: Allow specifying a name before starting
This allows specifying a name before the thread gets started, so that
the name can be decided by whoever starts the thread, rather than just
by the thread itself once it's running.This is especially useful as some operating systems do not support
changing the name of the thread once it's running. (user: js, size: 4452) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
68 69 70 71 72 73 74 | attr->priority = 0; attr->stackSize = 0; return true; } bool | | | | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | attr->priority = 0; attr->stackSize = 0; return true; } bool of_thread_new(of_thread_t *thread, const char *name, void (*function)(id), id object, const of_thread_attr_t *attr) { OFMutableData *tags = nil; if ((*thread = calloc(1, sizeof(**thread))) == NULL) { errno = ENOMEM; return false; } |
︙ | ︙ | |||
102 103 104 105 106 107 108 109 110 111 112 113 114 115 | ADD_TAG(NP_ExitData, (ULONG)*thread) #ifdef OF_AMIGAOS4 ADD_TAG(NP_Child, TRUE) #endif #ifdef OF_MORPHOS ADD_TAG(NP_CodeType, CODETYPE_PPC); #endif ADD_TAG(NP_Input, ((struct Process *)FindTask(NULL))->pr_CIS) ADD_TAG(NP_Output, ((struct Process *)FindTask(NULL))->pr_COS) ADD_TAG(NP_Error, ((struct Process *)FindTask(NULL))->pr_CES) ADD_TAG(NP_CloseInput, FALSE) ADD_TAG(NP_CloseOutput, FALSE) ADD_TAG(NP_CloseError, FALSE) | > > | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | ADD_TAG(NP_ExitData, (ULONG)*thread) #ifdef OF_AMIGAOS4 ADD_TAG(NP_Child, TRUE) #endif #ifdef OF_MORPHOS ADD_TAG(NP_CodeType, CODETYPE_PPC); #endif if (name != NULL) ADD_TAG(NP_Name, (ULONG)name); ADD_TAG(NP_Input, ((struct Process *)FindTask(NULL))->pr_CIS) ADD_TAG(NP_Output, ((struct Process *)FindTask(NULL))->pr_COS) ADD_TAG(NP_Error, ((struct Process *)FindTask(NULL))->pr_CES) ADD_TAG(NP_CloseInput, FALSE) ADD_TAG(NP_CloseOutput, FALSE) ADD_TAG(NP_CloseError, FALSE) |
︙ | ︙ |