FÓRUM DigiVoice

Fórum de Suporte Digivoice

Você não está logado.

#1 28/08/2008 14:56:14

gbedin
Membro

thread safe

Gostaria de saber se as chamadas de call back  setadas pela
dg_SetEventCallback são thread-safe?

Se não posso  mutex da pthread para sincronizar?

Offline

 

#2 05/09/2008 09:16:36

felipe
Membro

Re: thread safe

gbedin,
Não ficou muito claro o que o senhor deseja. Explique detalhadamente o que você quer.

Grato


Suporte Técnico
Digivoice

Offline

 

#3 05/09/2008 10:37:57

gbedin
Membro

Re: thread safe

felipe escreveu:

gbedin,
Não ficou muito claro o que o senhor deseja. Explique detalhadamente o que você quer.

Grato

Por exemplo, se eu usar a dg_SetEventCallback(minha_função). E dentro de minha função acessar
uma variável compartilhada preciso me preocupar com sincronismo? Ou seja, mais de uma thread
pode  chamar a minha_função ao mesmo tempo?

Olhando o código da voicerlib vi que os eventos são gerados tipicamente pela função RaiseEvents_ThreadSafe,
então pergunto: Estes eventos são gerados com um escalonamento cooperativo ou em paralelo ?

Caso exista o problema de sincronismo, posso usar o pthread_lock ou existe alguma função de lock
especial da voicerlib?


Também postei um problema que estou tendo na detscção do evento ENDCALL.

obrigado,
Guilherme

Offline

 

#4 19/09/2008 16:22:41

PattyC
Visitante

Re: thread safe

Olá,

Desculpe a demora a responder.

A thread safe tem um pthread_lock por porta, portanto é possível que mais de uma thread chame sua função ao mesmo tempo, pois o controle será feito por porta.

Obs.Uma porta nunca gerará dois eventos, porém inumeras portas sim.

Os eventos da função RaiseEvents_ThreadSafe são gerados por um escalonamento cooperativo "por canal(porta)", portanto não precisa se preocupar com sincronismo. O recomendado é que suas variáveis sejam sempre criadas por porta.

Atenciosamente,
Digivoice.

 

#5 19/09/2008 16:56:44

gbedin
Membro

Re: thread safe

Obrigado, era isto mesmo que queria saber.
Mantendo o acesso por porta  não preciso usar mutex, vou tirar do meu codigo.

Outra coisa que perguntei em outro tópico e não me responderam ainda.
Não esta sendo gerado o evento de B_END_CALL quando ligo para um número
de telefone fixo só quando ligo para celular.

Tem alguma dica? Imagino que seja algo de inicialização que esteja faltado tentei
várias coisas mas não descobri.


obrigado

Offline

 

#6 22/09/2008 16:29:17

PattyC
Visitante

Re: thread safe

Oi,

Vou responder no outro tópico ok.

Atenciosamente,
Digivoice

 

#7 22/09/2008 16:37:23

PattyC
Visitante

Re: thread safe

Obs.O tópico onde foi respondido é o "EV_E1CHANGESTATUS -> C_B_ENDCALL".

 

Rodapé do fórum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson