chenluhua1980
5 天以前 43cd50ae5629f8e18c349fe5e9a58aac298df9f2
1.修复一个判断逻辑问题;
已修改1个文件
27 ■■■■■ 文件已修改
SourceCode/Bond/Servo/CEquipment.cpp 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
SourceCode/Bond/Servo/CEquipment.cpp
@@ -2135,18 +2135,6 @@
            return FALSE;
        }
        // 如果没有可用位置,报错
        Lock();
        CSlot* pSlot = getSlot(putSlot - 1);
        ASSERT(pSlot);
        if (pSlot->getContext() != nullptr) {
            Unlock();
            LOGE("<CEquipemnt-%s>onPreStoredJob,指定slot(port:%d)有料,请注意风险!", m_strName.c_str(), port);
            return FALSE;
        }
        Unlock();
        if (m_listener.onPreStoredJob != nullptr) {
            if (!m_listener.onPreStoredJob(this, port, pJobDataB, putSlot)) {
                return FALSE;
@@ -2157,6 +2145,21 @@
            }
        }
        // 如果没有可用位置,报错(需在 listener 回调后拿到 putSlot)
        if (putSlot <= 0) {
            LOGE("<CEquipemnt-%s>onPreStoredJob, putSlot无效(port:%d).", m_strName.c_str(), port);
            return FALSE;
        }
        Lock();
        CSlot* pSlot = getSlot(putSlot - 1);
        ASSERT(pSlot);
        if (pSlot->getContext() != nullptr) {
            Unlock();
            LOGE("<CEquipemnt-%s>onPreStoredJob,指定slot(port:%d)有料,请注意风险!", m_strName.c_str(), port);
            return FALSE;
        }
        Unlock();
        return TRUE;
    }