[Insight-developers] MultiThreader fixed (?)

Miller, James V (CRD) millerjv@crd.ge.com
Wed, 3 Oct 2001 16:29:44 -0400


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_01C14C4A.234638A0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C14C4A.234638A0"


------_=_NextPart_001_01C14C4A.234638A0
Content-Type: text/plain;
	charset="iso-8859-1"

I may fixed the multithreader code.
 
It looks like I was calling Delete() on a smart pointer to a mutex lock that protected a flag that
indicated whether a thread was active. The impact of calling Delete() on the smart pointer to the
mutex lock is that the mutex lock ends getting deleted multiple times.  Once by the explicit call to
Delete() and when the smart pointer goes out of scope.  I changed the offending two line of code to
simply set the smart pointer to zero instead.
 
On our dual processor linux machine here, ShrinkImageTest would fail once every 1000 times or so.
After this fix, it did not fail any of the 5000 times that I ran it.  So I am guessing that it is
fixed.
 
However, this is another reason why we should figure out a way to keep people from calling Delete()
on a smart pointer (i.e. ptr->Delete()).
 
Please let me know if you still have problems with the multithreader.


Jim Miller 
_____________________________________
Visualization & Computer Vision
GE Corporate Research & Development
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301

millerjv@crd.ge.com < mailto:millerjv@crd.ge.com <mailto:millerjv@crd.ge.com> >
(518) 387-4005, Dial Comm: 8*833-4005, 
Cell: (518) 505-7065, Fax: (518) 387-6981 


 

------_=_NextPart_001_01C14C4A.234638A0
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=869002420-03102001><FONT size=2>I may fixed the multithreader 
code.</FONT></SPAN></DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2>It looks like I was calling 
Delete() on a smart pointer to a mutex lock that protected a flag that indicated 
whether a thread was active. The impact of calling Delete() on the smart pointer 
to the mutex lock is that the mutex lock ends getting deleted multiple 
times.&nbsp; Once by the explicit call to Delete() and when the smart pointer 
goes out of scope.&nbsp; I changed the offending two line of code to simply set 
the smart pointer to zero instead.</FONT></SPAN></DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2>On our dual processor linux 
machine here, ShrinkImageTest would fail once every 1000 times or so.&nbsp; 
After this fix, it did not fail any of the 5000 times that I ran it.&nbsp; So I 
am guessing that it is fixed.</FONT></SPAN></DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2>However, this is another reason 
why we should figure out a way to keep people from calling Delete() on a smart 
pointer (i.e. ptr-&gt;Delete()).</FONT></SPAN></DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=869002420-03102001><FONT size=2>Please let me know if you still 
have problems with the multithreader.</FONT></SPAN></DIV><BR>
<P><B><FONT face="Comic Sans MS" color=#000080>Jim Miller</FONT></B> 
<BR><B><I><FONT face=Arial color=#ff0000 
size=2>_____________________________________</FONT></I></B><I></I><BR><I></I><I><FONT 
face=Arial color=#000000 size=1>Visualization &amp; Computer Vision<BR>GE 
Corporate Research &amp; Development<BR>Bldg. KW, Room C218B<BR>P.O. Box 8, 
Schenectady NY 12301<BR><BR></FONT><U><FONT face=Arial color=#0000ff 
size=1>millerjv@crd.ge.com &lt;<A 
href="mailto:millerjv@crd.ge.com">mailto:millerjv@crd.ge.com</A>&gt;</FONT></U></I><BR><I><FONT 
face=Arial color=#000000 size=1>(518) 387-4005, Dial Comm: 8*833-4005, 
</FONT></I><BR><I><FONT face=Arial color=#000000 size=1>Cell: (518) 505-7065, 
Fax: (518) 387-6981</FONT></I> </P><BR>
<DIV>&nbsp;</DIV></BODY></HTML>

------_=_NextPart_001_01C14C4A.234638A0--

------_=_NextPart_000_01C14C4A.234638A0
Content-Type: application/octet-stream;
	name="Miller, James V (CRD).vcf"
Content-Disposition: attachment;
	filename="Miller, James V (CRD).vcf"

BEGIN:VCARD
VERSION:2.1
N:Miller;James
FN:Miller, James V (CRD)
ORG:CRD;ESL
TITLE:Computer Scientist
TEL;WORK;VOICE:*833-4005
TEL;WORK;VOICE:1 518 387-4005
ADR;WORK:;KW-C218B;P.O. Box 8;Schenectady;New York;12301;USA
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:KW-C218B=0D=0AP.O. Box 8=0D=0ASchenectady, New York 12301=0D=0AUSA
EMAIL;PREF;INTERNET:millerjv@crd.ge.com
REV:20010420T140329Z
END:VCARD

------_=_NextPart_000_01C14C4A.234638A0--