Eliminate a warning about an uninitilized variable

This commit is contained in:
Gregory Nutt
2014-09-29 16:46:01 -06:00
parent fcfe877e96
commit 2f970ffaf7
+16 -12
View File
@@ -108,13 +108,13 @@
* messages that may be placed in the message queue. * messages that may be placed in the message queue.
* *
* Return Value: * Return Value:
* A message queue descriptor or -1 (ERROR) * A message queue descriptor or (mqd_t)-1 (ERROR)
* *
* Assumptions: * Assumptions:
* *
****************************************************************************/ ****************************************************************************/
mqd_t mq_open(const char *mq_name, int oflags, ...) mqd_t mq_open(FAR const char *mq_name, int oflags, ...)
{ {
FAR struct inode *inode; FAR struct inode *inode;
FAR const char *relpath = NULL; FAR const char *relpath = NULL;
@@ -129,20 +129,24 @@ mqd_t mq_open(const char *mq_name, int oflags, ...)
/* Make sure that a non-NULL name is supplied */ /* Make sure that a non-NULL name is supplied */
if (mq_name) if (!mq_name)
{ {
/* Make sure that the check for the existence of the message queue errcode = EINVAL;
* and the creation of the message queue are atomic with respect to goto errout;
* other processes executing mq_open(). A simple sched_lock() should }
* be sufficientt.
*/
sched_lock();
/* Get the full path to the message queue */ /* Get the full path to the message queue */
snprintf(fullpath, MAX_MQUEUE_PATH, CONFIG_FS_MQUEUE_MPATH "/%s", mq_name); snprintf(fullpath, MAX_MQUEUE_PATH, CONFIG_FS_MQUEUE_MPATH "/%s", mq_name);
/* Make sure that the check for the existence of the message queue
* and the creation of the message queue are atomic with respect to
* other processes executing mq_open(). A simple sched_lock() should
* be sufficient.
*/
sched_lock();
/* Get the inode for this mqueue. This should succeed if the message /* Get the inode for this mqueue. This should succeed if the message
* queue has already been created. * queue has already been created.
*/ */
@@ -234,11 +238,10 @@ mqd_t mq_open(const char *mq_name, int oflags, ...)
INODE_SET_MQUEUE(inode); INODE_SET_MQUEUE(inode);
inode->u.i_mqueue = msgq; inode->u.i_mqueue = msgq;
msgq->inode = inode; msgq->inode = inode;
} }
sched_unlock(); sched_unlock();
}
return mqdes; return mqdes;
errout_with_msgq: errout_with_msgq:
@@ -248,6 +251,7 @@ errout_with_inode:
inode_release(inode); inode_release(inode);
errout_with_lock: errout_with_lock:
sched_unlock(); sched_unlock();
errout:
set_errno(errcode); set_errno(errcode);
return (mqd_t)ERROR; return (mqd_t)ERROR;
} }