sigaction
diff --git a/profiles/audioOverBle/btvoice.c b/profiles/audioOverBle/btvoice.c
index a64b66f..bbae128 100644
--- a/profiles/audioOverBle/btvoice.c
+++ b/profiles/audioOverBle/btvoice.c
@@ -25,7 +25,8 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-
+#include <pthread.h>
+#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <stdbool.h>
@@ -118,12 +119,12 @@
static void audio_value_cb(const uint8_t *pdu, uint16_t len,
gpointer user_data) {
- struct audiostream *audiostream = user_data;
- struct btvoice_device *btvoicedev = audiostream->btvoicedev;
+ // struct audiostream *audiostream = user_data;
+ // struct btvoice_device *btvoicedev = audiostream->btvoicedev;
static int PrevSeqNum = 0;
static int nbFrameLost, nbFrameReceived;
- static uint8_t SeqNum, i;
+ static uint8_t SeqNum;
SeqNum = (pdu[3] >> 3) & 0x1F;
uint8_t frameType = pdu[3] & 0x07;
@@ -175,6 +176,13 @@
//(22) 0x%x ", len, frameType, pdu[0], pdu[1], pdu[2], pdu[3], pdu[4],
//pdu[5], pdu[6], pdu[7], pdu[8], pdu[9], pdu[10], pdu[11], pdu[12],
//pdu[len-4], pdu[len-3], pdu[len-2], pdu[len-1]);
+ const struct sigaction ignore = {
+ .sa_handler = SIG_IGN,
+ };
+ int result = sigaction(SIGPIPE, &ignore, NULL);
+ if (result != 0) {
+ perror("sigaction:");
+ }
pthread_mutex_lock(&audio_mutex);
{
@@ -204,7 +212,7 @@
static void audio_ccc_written_cb(guint8 status, const guint8 *pdu, guint16 plen,
gpointer user_data) {
struct audiostream *audiostream = user_data;
- struct btvoice_device *btvoicedev = audiostream->btvoicedev;
+ // struct btvoice_device *btvoicedev = audiostream->btvoicedev;
if (status != 0) {
error("Write audio characteristic descriptor failed: %s",
@@ -252,13 +260,13 @@
static void discover_descriptor_cb(uint8_t status, GSList *descs,
void *user_data) {
struct audiostream *report;
- struct btvoice_device *btvoicedev;
- struct att_data_list *list = NULL;
+ // struct btvoice_device *btvoicedev;
+ // struct att_data_list *list = NULL;
GAttrib *attrib = NULL;
- uint8_t format;
- uint16_t handle = 0xffff;
- uint16_t uuid16;
- int i;
+ // uint8_t format;
+ // uint16_t handle = 0xffff;
+ // uint16_t uuid16;
+ // int i;
if (status != 0) {
error("Discover all characteristic descriptors failed: %s",
@@ -300,7 +308,7 @@
static void char_discovered_cb(guint8 status, GSList *chars, void *user_data) {
struct btvoice_device *btvoicedev = user_data;
- struct gatt_primary *prim = btvoicedev->audioOverBle;
+ // struct gatt_primary *prim = btvoicedev->audioOverBle;
bt_uuid_t audstart_uuid, audconfig_uuid, audstream_uuid;
struct audiostream *audiostream;
GSList *l;
@@ -430,7 +438,7 @@
static void attio_disconnected_cb(gpointer user_data) {
struct btvoice_device *btvoicedev = user_data;
- const char *path = device_get_path(btvoicedev->device);
+ // const char *path = device_get_path(btvoicedev->device);
GSList *l;
for (l = btvoicedev->reports; l; l = l->next) {
@@ -445,9 +453,9 @@
static struct btvoice_device *register_btvoicedevice(
struct btd_device *device) {
- const char *path = device_get_path(device);
+ // const char *path = device_get_path(device);
struct btvoice_device *btvoicedev;
- char *level;
+ // char *level;
DBG("in");
btvoicedev = find_btvoicedev(device);
@@ -517,7 +525,7 @@
static void cleanup_btdevice(struct btvoice_device *btvoicedev) {
struct btd_device *device = btvoicedev->device;
- const char *path = device_get_path(device);
+ // const char *path = device_get_path(device);
if (btvoicedev->audioOverBle != NULL) return;