* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* Find myself in the list of threads so we can count the number of loops.
*/
for (mystats = 0; mystats < MAX_THREADS; ++mystats) {
* Find myself in the list of threads so we can count the number of loops.
*/
for (mystats = 0; mystats < MAX_THREADS; ++mystats) {
if (drop_threads[mystats].myself.p == pthread_self().p)
#else
if (drop_threads[mystats].myself == pthread_self())
if (drop_threads[mystats].myself.p == pthread_self().p)
#else
if (drop_threads[mystats].myself == pthread_self())
/*
* The description of pthread_create() is misleading, since it implies that
* threads will exit cleanly after their function returns.
/*
* The description of pthread_create() is misleading, since it implies that
* threads will exit cleanly after their function returns.
* Since they do not (and the number of threads is limited by system
* resources), make a limited number of threads, and signal any that are
* waiting when we want a thread past that limit.
* Since they do not (and the number of threads is limited by system
* resources), make a limited number of threads, and signal any that are
* waiting when we want a thread past that limit.
- init_pair(1, COLOR_BLUE, bg);
- init_pair(2, COLOR_CYAN, bg);
+ init_pair(1, COLOR_BLUE, (short) bg);
+ init_pair(2, COLOR_CYAN, (short) bg);