Avati
On Fri, Jul 8, 2011 at 8:36 PM, Emmanuel Dreyfus <manu@xxxxxxxxxx> wrote:
Anand Avati <anand.avati@xxxxxxxxx> wrote:Yes, all the crashes I reported were pthread related and were fixed by
> I'm not sure how good/efficient the pthread implementation in NetBSD is.
> Also, do you know if there are any NetBSD specifics about using
> pthread_spinlock() APIs on it? Lot of the issues you have previously
> described can occur if there is a broken implementation of pthread
> spinlocks (which seems to get masked without io-threads)
the patch I posted yesterday. I repost it below for your convenience.
On the NetBSD specific issue, well, I would rather call that a
Linux-specificity that your code managed to run :-)
The only problem I have now is the "files exist but readdir do not see
them" thing I have posted about this morning, but this is not a crash
story.
--- xlators/performance/io-threads/src/io-threads.c.orig
+++ xlators/performance/io-threads/src/io-threads.c
@@ -2181,8 +2181,20 @@
"out of memory");
goto out;
}
+ if ((ret = pthread_cond_init(&conf->cond, NULL)) != 0) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "pthread_cond_init failed (%d)", ret);
+ goto out;
+ }
+
+ if ((ret = pthread_mutex_init(&conf->mutex, NULL)) != 0) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "pthread_mutex_init failed (%d)", ret);
+ goto out;
+ }
+
set_stack_size (conf);
thread_count = IOT_DEFAULT_THREADS;
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu@xxxxxxxxxx