Exemplo n.º 1
0
static void init(qcom_sQid* myQid)
{
  pwr_tStatus sts;

  sts = gdh_Init("pwr_nacp");
  if (EVEN(sts)) {
    errh_Fatal("gdh_Init, %m", sts);
    errh_SetStatus(PWR__SRVTERM);
    exit(sts);
  }

#if defined OS_CYGWIN
  qcom_sQattr qAttr;
  qcom_sQid qid = qcom_cQnacp;

  qAttr.type = qcom_eQtype_private;
  qAttr.quota = 100;
  if (!qcom_CreateQ(&sts, &qid, &qAttr, "nacp")) {
    errh_Error("Failed to create QCOM que\n%m", sts);
    errh_SetStatus(PWR__SRVTERM);
    exit(sts);
  }
#else
  if (!qcom_AttachQ(&sts, &qcom_cQnacp)) {
    errh_Fatal("qcom_AttachQ, %m", sts);
    errh_SetStatus(PWR__SRVTERM);
    exit(sts);
  }
#endif
  *myQid = qcom_cQnacp;

  if (!qcom_Bind(&sts, myQid, &qcom_cQini)) {
    errh_Fatal("qcom_Bind, %m", sts);
    errh_SetStatus(PWR__SRVTERM);
    exit(-1);
  }

  /* Activate all subscriptions that were requested before we started!  */

  gdb_ScopeLock
  {
    gdbroot->db->neth_acp = *myQid;
    subc_ActivateList(&gdbroot->my_node->subc_lh, pwr_cNObjid);
    subc_ActivateList(&gdbroot->no_node->subc_lh, pwr_cNObjid);
  }
  gdb_ScopeUnlock;
}
Exemplo n.º 2
0
static void
init (
  qcom_sQid *myQid
)
{
  pwr_tStatus sts;
  
  sts = gdh_Init("pwr_nacp");
  if (EVEN(sts)) {
    errh_Fatal("gdh_Init, %m", sts);
    errh_SetStatus( PWR__SRVTERM);
    exit(sts);
  } 

  if (!qcom_AttachQ(&sts, &qcom_cQnacp)) {
    errh_Fatal("qcom_AttachQ, %m", sts);
    errh_SetStatus( PWR__SRVTERM);
    exit(sts);
  } 
  *myQid = qcom_cQnacp;

  if (!qcom_Bind(&sts, myQid, &qcom_cQini)) {
    errh_Fatal("qcom_Bind, %m", sts);
    errh_SetStatus( PWR__SRVTERM);
    exit(-1);
  }

  /* Activate all subscriptions that were requested before we started!  */

  gdb_ScopeLock {

    gdbroot->db->neth_acp = *myQid;
    subc_ActivateList(&gdbroot->my_node->subc_lh, pwr_cNObjid);
    subc_ActivateList(&gdbroot->no_node->subc_lh, pwr_cNObjid);

  } gdb_ScopeUnlock;
}