func (this *FdfsStorage) initFdfsClient() util.Error { if fdfsClient == nil { lock <- 1 defer func() { <-lock }() if fdfsClient != nil { return util.Error{} } config := models.Config{Cat: this.Cat} fdfsdomain, e := config.GetFdfsDomain() if e.Err != nil { return e } fdfsport, e := config.GetFdfsPort() if e.Err != nil { return e } var err error fdfsClient, err = fdfs.NewFdfsClient([]string{fdfsdomain}, fdfsport) if err != nil { util.LogErrorEvent(this.Cat, ERRORTYPE_FDFSCONNECTIONERR, err.Error()) return util.Error{IsNormal: false, Err: err, Type: ERRORTYPE_FDFSCONNECTIONERR} } } return util.Error{} }