Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VSs_impls > VSs__MC_shared_impl
comparison nanos-vss.c @ 41:37bb39da5ff1
static3d working, still trouble with child tasks
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Wed, 05 Jun 2013 14:40:40 +0200 |
| parents | df464a215387 |
| children | bb6fbcbce14d |
comparison
equal
deleted
inserted
replaced
| 0:ce7b08645625 | 1:b4f5aa34af29 |
|---|---|
| 14 nanos_unset_lock //critical end | 14 nanos_unset_lock //critical end |
| 15 | 15 |
| 16 nanos_omp_set_interface | 16 nanos_omp_set_interface |
| 17 nanos_smp_factory*/ | 17 nanos_smp_factory*/ |
| 18 | 18 |
| 19 int tasks_created = 0; | |
| 20 | |
| 19 nanos_wd_t nanos_current_wd(void) { | 21 nanos_wd_t nanos_current_wd(void) { |
| 20 return (nanos_wd_t) ((VSsSemData*) currVP->semanticData)->taskStub; | 22 return (nanos_wd_t) ((VSsSemData*) currVP->semanticData)->taskStub; |
| 21 } | 23 } |
| 22 | 24 |
| 23 nanos_err_t nanos_create_wd_compact(nanos_wd_t *wd, nanos_const_wd_definition_t *const_data, nanos_wd_dyn_props_t *dyn_props, | 25 nanos_err_t nanos_create_wd_compact(nanos_wd_t *wd, nanos_const_wd_definition_t *const_data, nanos_wd_dyn_props_t *dyn_props, |
| 24 size_t data_size, void ** data, nanos_wg_t wg, nanos_copy_data_t **copies) { | 26 size_t data_size, void ** data, nanos_wg_t wg, nanos_copy_data_t **copies) { |
| 27 | |
| 25 VSsTaskStub* ts = (VSsTaskStub*) malloc(sizeof (VSsTaskStub)); | 28 VSsTaskStub* ts = (VSsTaskStub*) malloc(sizeof (VSsTaskStub)); |
| 26 void* alloc_data = malloc(data_size); | 29 void* alloc_data = malloc(data_size); |
| 27 *data = alloc_data; | 30 *data = alloc_data; |
| 28 ts->args = alloc_data; | 31 ts->args = alloc_data; |
| 29 | 32 |
| 71 reqData.taskType = taskType; | 74 reqData.taskType = taskType; |
| 72 reqData.args = ts->args; | 75 reqData.args = ts->args; |
| 73 reqData.deps = depsAddrs; | 76 reqData.deps = depsAddrs; |
| 74 reqData.callingSlv = currVP; | 77 reqData.callingSlv = currVP; |
| 75 | 78 |
| 76 reqData.taskID = NULL; | 79 int32* taskID; |
| 80 taskID = VSs__create_taskID_of_size(1); | |
| 81 taskID[1] = tasks_created++; | |
| 82 | |
| 83 reqData.taskID = taskID; | |
| 77 | 84 |
| 78 free(ts); | 85 free(ts); |
| 79 | 86 |
| 80 VMS_WL__send_sem_request(&reqData, currVP); | 87 VMS_WL__send_sem_request(&reqData, currVP); |
| 81 | 88 |
| 126 reqData.taskType = taskType; | 133 reqData.taskType = taskType; |
| 127 reqData.args = data; | 134 reqData.args = data; |
| 128 reqData.deps = depsAddrs; | 135 reqData.deps = depsAddrs; |
| 129 reqData.callingSlv = currVP; | 136 reqData.callingSlv = currVP; |
| 130 | 137 |
| 131 reqData.taskID = NULL; | 138 int32* taskID; |
| 139 taskID = VSs__create_taskID_of_size(1); | |
| 140 taskID[1] = tasks_created++; | |
| 141 | |
| 142 reqData.taskID = taskID; | |
| 132 | 143 |
| 133 VMS_WL__send_sem_request(&reqData, currVP); | 144 VMS_WL__send_sem_request(&reqData, currVP); |
| 134 | 145 |
| 135 return NANOS_OK; | 146 return NANOS_OK; |
| 136 } | 147 } |
