<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Hello folks,<br><br>I recently tried to use the GDAL 1.9.0 API from multiple threads. However, they may arise a deadlock situation<br>where one thread hangs in the cpl_multithread.cpp CPLAcquireMutex function and others hang in the pj_acquire_lock() function of the proj.4 4.7.0 API blocking each other.<br>The methods that set the locks seem to be the<br><br>int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Initialize( OGRSpatialReference *poSource, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OGRSpatialReference *poTarget );<br>&nbsp;&nbsp;&nbsp; virtual int TransformEx( int nCount, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double *x, double *y, double *z = NULL,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int *panSuccess = NULL );<br><br>methods of ogrct.cpp.<br><br>Not using the methods prevents a deadlock.<br><br>Do you know about this?<br><br>Thanks for your attention!<br>                                               </div></body>
</html>