MCPcopy Create free account
hub / github.com/aethersdr/AetherSDR / destroyPipe

Method destroyPipe

src/models/DaxIqModel.cpp:379–400  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

377}
378
379void DaxIqWorker::destroyPipe(int channel)
380{
381#ifndef Q_OS_WIN
382 int idx = channel - 1;
383 if (idx < 0 || idx >= DaxIqModel::NUM_CHANNELS) return;
384 if (m_pipeFds[idx] >= 0) {
385 ::close(m_pipeFds[idx]);
386 m_pipeFds[idx] = -1;
387 }
388 // Unload the pipe-source module by its stored index (clean, no grep race),
389 // then remove the FIFO we created.
390 if (m_pipeModuleIdx[idx] != 0) {
391 runPactlSync({"unload-module", QString::number(m_pipeModuleIdx[idx])});
392 m_pipeModuleIdx[idx] = 0;
393 }
394 const QString pipePath = iqPipePath(channel);
395 if (!pipePath.isEmpty())
396 ::unlink(pipePath.toLocal8Bit().constData());
397#else
398 Q_UNUSED(channel);
399#endif
400}
401
402void DaxIqWorker::processIqPacket(int channel, const QByteArray& rawPayload, int sampleRate)
403{

Callers 3

applyStreamStatusMethod · 0.80
handleStreamRemovedMethod · 0.80
handleDisconnectMethod · 0.80

Calls 3

runPactlSyncFunction · 0.85
iqPipePathFunction · 0.85
isEmptyMethod · 0.45

Tested by

no test coverage detected