params->uninitvalue = 0;
params->maxexecutions = 10;
params->nofork = false;
- params->threadsnocleanup = false;
}
static void print_usage(struct model_params *params)
"Distributed under the GPLv2\n"
"Written by Brian Norris and Brian Demsky\n"
"\n"
- "Usage: [MODEL-CHECKER OPTIONS] -- [PROGRAM ARGS]\n"
+ "Usage: C11TESTER=[MODEL-CHECKER OPTIONS]\n"
"\n"
"MODEL-CHECKER OPTIONS can be any of the model-checker options listed below. Arguments\n"
"provided after the `--' (the PROGRAM ARGS) are passed to the user program.\n"
"-x, --maxexec=NUM Maximum number of executions.\n"
" Default: %u\n"
" -o help for a list of options\n"
- "-n No fork\n"
-#ifdef TLS
- "-d Don't allow threads to cleanup\n"
-#endif
- " -- Program arguments follow.\n\n",
+ "-n No fork\n\n"
params->verbose,
params->uninitvalue,
params->maxexecutions);
}
void parse_options(struct model_params *params) {
- const char *shortopts = "hdnt:o:u:x:v::";
+ const char *shortopts = "hnt:o:u:x:v::";
const struct option longopts[] = {
{"help", no_argument, NULL, 'h'},
{"verbose", optional_argument, NULL, 'v'},
case 'h':
print_usage(params);
break;
- case 'd':
- params->threadsnocleanup = true;
- break;
case 'n':
params->nofork = true;
break;
if (stack)
stack_free(stack);
#ifdef TLS
- if (this != model->getInitThread() && !model->getParams()->threadsnocleanup) {
+ if (this != model->getInitThread()) {
ASSERT(thread_current()==NULL);
real_pthread_mutex_unlock(&mutex2);
real_pthread_join(thread, NULL);