* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "ecmascript/platform/signal_manager.h"
#include <algorithm>
#include <csignal>
#include <csignal>
#include <vector>
namespace panda::ecmascript {
class VirtualSignalManager : public SignalManager {
public:
VirtualSignalManager() = default;
~VirtualSignalManager() = default;
void AddSpecialHandler([[maybe_unused]] SigchainAction newAction) override {}
void RemoveSpecialHandler([[maybe_unused]] SigchainHandler handler) override {}
bool IsClaimed() override { return false; }
int Claim() override { return -1; }
};
bool SignalManager::InitSigchainAction([[maybe_unused]] SigchainAction action,
[[maybe_unused]] const std::vector<int> &signos,
[[maybe_unused]] SigchainHandler handler)
{
return false;
}
size_t SignalManager::GetSigchainActionSize() { return 0; }
void SignalManager::Initialize() {}
SignalManager &SignalManager::GetSignalManager([[maybe_unused]] int signo)
{
static VirtualSignalManager dummy;
return dummy;
}
}