diff options
Diffstat (limited to 'libglusterfsclient/src/libglusterfsclient.c')
| -rwxr-xr-x | libglusterfsclient/src/libglusterfsclient.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c index e0d47d9f3bf..24e73a82703 100755 --- a/libglusterfsclient/src/libglusterfsclient.c +++ b/libglusterfsclient/src/libglusterfsclient.c @@ -1514,16 +1514,16 @@ libgf_vmp_map_ghandle (char *vmp, glusterfs_handle_t *vmphandle)          if (!vmpentry)                  goto out; -        /*  -           FIXME: this is not thread-safe, but I couldn't find other place to -           do initialization. -        */  -        if (vmplist.entries == 0) { -                INIT_LIST_HEAD (&vmplist.list); -        } +        pthread_mutex_lock (&vmplock); +        { +                if (vmplist.entries == 0) { +                        INIT_LIST_HEAD (&vmplist.list); +                } -        list_add_tail (&vmpentry->list, &vmplist.list); -        ++vmplist.entries; +                list_add_tail (&vmpentry->list, &vmplist.list); +                ++vmplist.entries; +        } +        pthread_mutex_unlock (&vmplock);          ret = 0;  out:  | 
