[Openais] thread lock problem in lib/clm.c

Kristen Smith kjsmith at nortel.com
Tue Feb 1 05:43:59 PST 2005


Hello,

In lib/clm.c, there are 2 places where mutexes are not being unlocked:

in saClmDispatch:

			/*
			 * Queue empty, read response from socket
			 */
			error = saRecvRetry (clmInstance->fd,
&dispatch_data.header,
				sizeof (struct res_header), MSG_WAITALL |
MSG_NOSIGNAL);
			if (error != SA_OK) {
*****                   pthread_mutex_unlock (&clmInstance->mutex);
				goto error_unlock;
			}
			if (dispatch_data.header.size > sizeof (struct
res_header)) {
				error = saRecvRetry (clmInstance->fd,
&dispatch_data.data,
					dispatch_data.header.size - sizeof
(struct res_header),
					MSG_WAITALL | MSG_NOSIGNAL);
				if (error != SA_OK) {
*****                         pthread_mutex_unlock (&clmInstance->mutex);
					goto error_unlock;
				}
			}


Kristen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linux-foundation.org/pipermail/openais/attachments/20050201/4eb5830d/attachment-0001.htm


More information about the Openais mailing list