在听音乐和浏览Spotify时,我们偶尔遇到sp_session_process_events()
永不返回的问题。由于我们将所有libspotify调用放在同一个线程上,因此我们的应用程序会被无限期锁定。
所有Spotify回调都会立即返回,并且回调中的任何必要的数据处理都会在一个线程上进行调度以便执行。此外,对sp_session_process_events()
的所有调用都被赋予比线程队列更高的优先级执行。不幸的是,我没有a-b-c步骤来重现这一点,但是一个可重复的情况是,在某些时候sp_session_process_events()
将不会返回,并且我们的线程队列将阻止,除非我们的应用程序重新启动。
任何对此进行故障排除的建议都会非常感激,它已经困扰我们好几个月了,我们已经尝试了一切我们能想到的方法来纠正这种情况无济于事。我们的应用程序是多线程的,但正如我之前所说,所有调用将在同一个线程上一次执行一个。