Issue #3203 has been reported by tkusumi. ---------------------------------------- Bug #3203: Don't assume pthread_t is a pointer http://bugs.dragonflybsd.org/issues/3203
* Author: tkusumi * Status: New * Priority: Normal * Assignee: * Category: * Target version: ---------------------------------------- A pthread_t variable doesn't need to be initialized with NULL prior to calling pthread_create(3). This also isn't portable since pthread_t is an opaque type (i.e. may not be a pointer, and in fact it's not on Linux/glibc). # grep "thread = NULL" sbin/hammer2 -rI sbin/hammer2/subs.c: pthread_t thread = NULL; sbin/hammer2/cmd_service.c: thread = NULL; sbin/hammer2/cmd_service.c: thread = NULL; sbin/hammer2/cmd_service.c: thread = NULL; sbin/hammer2/cmd_service.c: conf->thread = NULL; sbin/hammer2/cmd_service.c: conf->iocom_thread = NULL; sbin/hammer2/cmd_service.c: thread = NULL; It looks like above exists for this conditional below. If this could be rewritten without testing pthread_t itself (it shouldn't be too), NULL initialization could be removed. 369 if (conf->thread == NULL) { 370 fprintf(stderr, "VOLCONF THREAD STARTED\n"); 371 pthread_cond_init(&conf->cond, NULL); 372 pthread_create(&conf->thread, NULL, 373 hammer2_volconf_thread, (void *)conf); 374 } -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account