MCPcopy Create free account
hub / github.com/Hamlib/Hamlib / async_data_handler_start

Function async_data_handler_start

src/rig.c:8483–8523  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8481#define MAX_FRAME_LENGTH 1024
8482
8483static int async_data_handler_start(RIG *rig)
8484{
8485 struct rig_state *rs = STATE(rig);
8486 async_data_handler_priv_data *async_data_handler_priv;
8487
8488 ENTERFUNC;
8489
8490 if (!rs->async_data_enabled)
8491 {
8492 rig_debug(RIG_DEBUG_TRACE,
8493 "%s: async data support disabled since async_data_enabled=%d\n", __func__,
8494 rs->async_data_enabled);
8495 RETURNFUNC(RIG_OK);
8496 }
8497
8498 sleep(2); // give other things a chance to finish opening up the rig
8499
8500 rs->async_data_handler_thread_run = 1;
8501 rs->async_data_handler_priv_data = calloc(1,
8502 sizeof(async_data_handler_priv_data));
8503
8504 if (rs->async_data_handler_priv_data == NULL)
8505 {
8506 RETURNFUNC(-RIG_ENOMEM);
8507 }
8508
8509 async_data_handler_priv = (async_data_handler_priv_data *)
8510 rs->async_data_handler_priv_data;
8511 async_data_handler_priv->args.rig = rig;
8512 int err = pthread_create(&async_data_handler_priv->thread_id, NULL,
8513 async_data_handler, &async_data_handler_priv->args);
8514
8515 if (err)
8516 {
8517 rig_debug(RIG_DEBUG_ERR, "%s: pthread_create error: %s\n", __func__,
8518 strerror(errno));
8519 RETURNFUNC(-RIG_EINTERNAL);
8520 }
8521
8522 RETURNFUNC(RIG_OK);
8523}
8524
8525static int morse_data_handler_start(RIG *rig)
8526{

Callers 1

rig_openFunction · 0.85

Calls 3

rig_debugFunction · 0.85
sleepFunction · 0.85
pthread_createFunction · 0.85

Tested by

no test coverage detected