static corto_selectData* corto_selectDataGet(void) { corto_selectData* result; result = corto_threadTlsGet(CORTO_KEY_SELECT); if (!result) { result = corto_calloc(sizeof(corto_selectData)); } return result; }
static corto_errThreadData* corto_getThreadData(void){ corto_errThreadData* result; if (!corto_errKey) { corto_threadTlsKey(&corto_errKey, corto_lasterrorFree); } result = corto_threadTlsGet(corto_errKey); if (!result) { result = corto_alloc(sizeof(corto_errThreadData)); memset(result, 0, sizeof(corto_errThreadData)); corto_threadTlsSet(corto_errKey, result); } return result; }