diff options
author | Hung-ying Tyan <tyanh@google.com> | 2010-12-01 09:21:45 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-12-01 09:21:45 -0800 |
commit | d6b0d689a77934a0124ed9d3a59c9534a5d4958b (patch) | |
tree | 1988863813eab73535f7a2521304d71d3308ea96 /voip | |
parent | db4245291b15fd966b36c70f7f69ba4d22539803 (diff) | |
parent | 6034f9b2664799cb4f983657a78023b49efff825 (diff) | |
download | frameworks_base-d6b0d689a77934a0124ed9d3a59c9534a5d4958b.zip frameworks_base-d6b0d689a77934a0124ed9d3a59c9534a5d4958b.tar.gz frameworks_base-d6b0d689a77934a0124ed9d3a59c9534a5d4958b.tar.bz2 |
am 6034f9b2: am 06e8cdc0: Fix race between ending and answering a SIP call.
* commit '6034f9b2664799cb4f983657a78023b49efff825':
Fix race between ending and answering a SIP call.
Diffstat (limited to 'voip')
-rw-r--r-- | voip/java/com/android/server/sip/SipSessionGroup.java | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java index 29f5f5a..30ddfb5 100644 --- a/voip/java/com/android/server/sip/SipSessionGroup.java +++ b/voip/java/com/android/server/sip/SipSessionGroup.java @@ -527,11 +527,14 @@ class SipSessionGroup implements SipListener { } public void answerCall(String sessionDescription, int timeout) { - try { - processCommand(new MakeCallCommand(mPeerProfile, - sessionDescription, timeout)); - } catch (SipException e) { - onError(e); + synchronized (SipSessionGroup.this) { + if (mPeerProfile == null) return; + try { + processCommand(new MakeCallCommand(mPeerProfile, + sessionDescription, timeout)); + } catch (SipException e) { + onError(e); + } } } @@ -540,14 +543,11 @@ class SipSessionGroup implements SipListener { } public void changeCall(String sessionDescription, int timeout) { - doCommandAsync(new MakeCallCommand(mPeerProfile, sessionDescription, - timeout)); - } - - public void changeCallWithTimeout( - String sessionDescription, int timeout) { - doCommandAsync(new MakeCallCommand(mPeerProfile, sessionDescription, - timeout)); + synchronized (SipSessionGroup.this) { + if (mPeerProfile == null) return; + doCommandAsync(new MakeCallCommand(mPeerProfile, + sessionDescription, timeout)); + } } public void register(int duration) { |