Skip to Content.
Sympa Menu

freetds - [freetds] slow computer, librt and cancel test

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "ZIGLIO, Frediano, VF-IT" <Frediano.Ziglio AT vodafone.com>
  • To: "FreeTDS Development Group" <freetds AT lists.ibiblio.org>
  • Subject: [freetds] slow computer, librt and cancel test
  • Date: Thu, 28 Dec 2006 11:10:22 +0100

Hi,
I notice that cancel test was not working using valgrind and sometimes
even without valgrind.
I realize that problem was a deadlock cause program stops at fmutex then
it timeouts (10 minutes).
Using "cvs up -D ..." and many tests I realize that it stop working 129
day ago (this was some days ago, cvs tag working was
2006.08.16.13.37.26). Diff from 130 and 129 days ago was the use of
clock_gettime and better thread tests in configure.ac. After many tests
I realize that just adding -lrt to the linker the problem raise. Perhaps
this library register some stuff that make deadlock happen. A bit of
debugging and deadlock occurs in tdsdump_log. Now... logging was
disabled but code uses locking (g_dump_mutex), this lock is not
reentrant so when a signal interrupt code after this lock is down and
try to lock again deadlock occurs. I think that there should be a way to
test if log is enabled without locking but I think also that this mutex
should be recursive. cancel using dblib should be signal safe even if we
enable logging! Now the question is: is the logging code safe using
recursive mutexes and signals?

bye
freddy77




  • [freetds] slow computer, librt and cancel test, ZIGLIO, Frediano, VF-IT, 12/28/2006

Archive powered by MHonArc 2.6.24.

Top of Page