On Mon, Feb 10 2014, Sitsofe Wheeler wrote:
> On Mon, Feb 10, 2014 at 12:25:32PM -0700, Bruce Cran wrote:
> > On 2/9/2014 12:50 PM, Sitsofe Wheeler wrote:
> > >
> > >Yes it's still happening with -git from a moment ago. What is stopping a
> > >sleeping thread from holding a mutex that is destroyed and then waking
> > >up on it after the memory has been unmapped?
> >
> > In case it *is* a bug in winpthreads-1.dll, are you using version
> > 3.1.0-1? It was released on the 15th January and there appeared to
> > be some mutex-related fixes when I looked at the svn log a few weeks
> > ago.
>
> Yes I am using version 3.1.0-1 on Windows 7 installed about a week
> ago...
Actually, the previous wont work, and I don't see how to make it work.
Please try the below instead. Or just re-pull, I'll check it in now.
diff --git a/backend.c b/backend.c
index 501c59a..a607134 100644
--- a/backend.c
+++ b/backend.c
@@ -1236,13 +1236,6 @@ static void *thread_main(void *data)
dprint(FD_MUTEX, "done waiting on td->mutex\n");
/*
- * the ->mutex mutex is now no longer used, close it to avoid
- * eating a file descriptor
- */
- fio_mutex_remove(td->mutex);
- td->mutex = NULL;
-
- /*
* A new gid requires privilege, so we need to do this before setting
* the uid.
*/
@@ -1521,6 +1514,9 @@ err:
fio_mutex_remove(td->rusage_sem);
td->rusage_sem = NULL;
+ fio_mutex_remove(td->mutex);
+ td->mutex = NULL;
+
td_set_runstate(td, TD_EXITED);
return (void *) (uintptr_t) td->error;
}
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html