mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-01-08 03:43:25 +00:00
new package: speechd (#6624)
This commit is contained in:
104
packages/speechd/speechd.patch
Normal file
104
packages/speechd/speechd.patch
Normal file
@@ -0,0 +1,104 @@
|
||||
diff -u -r ../speechd-0.10.2/src/api/c/libspeechd.c ./src/api/c/libspeechd.c
|
||||
--- ../speechd-0.10.2/src/api/c/libspeechd.c 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/api/c/libspeechd.c 2021-04-05 18:06:21.834517140 +0000
|
||||
@@ -608,7 +608,7 @@
|
||||
pthread_mutex_lock(&connection->ssip_mutex);
|
||||
|
||||
if (connection->mode == SPD_MODE_THREADED) {
|
||||
- pthread_cancel(connection->td->events_thread);
|
||||
+ pthread_kill(connection->td->events_thread, 0);
|
||||
pthread_mutex_destroy(&connection->td->mutex_reply_ready);
|
||||
pthread_mutex_destroy(&connection->td->mutex_reply_ack);
|
||||
pthread_cond_destroy(&connection->td->cond_reply_ready);
|
||||
diff -u -r ../speechd-0.10.2/src/audio/nas.c ./src/audio/nas.c
|
||||
--- ../speechd-0.10.2/src/audio/nas.c 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/audio/nas.c 2021-04-05 18:06:21.834517140 +0000
|
||||
@@ -51,7 +51,6 @@
|
||||
static void *_nas_handle_events(void *par)
|
||||
{
|
||||
spd_nas_id_t *nas_id = (spd_nas_id_t *) par;
|
||||
- pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
|
||||
|
||||
while (1)
|
||||
AuHandleEvents(nas_id->aud);
|
||||
@@ -209,7 +208,7 @@
|
||||
if (nas_id == NULL)
|
||||
return -2;
|
||||
|
||||
- pthread_cancel(nas_id->nas_event_handler);
|
||||
+ pthread_kill(nas_id->nas_event_handler, 0);
|
||||
pthread_join(nas_id->nas_event_handler, NULL);
|
||||
|
||||
pthread_mutex_destroy(&nas_id->pt_mutex);
|
||||
diff -u -r ../speechd-0.10.2/src/modules/baratinoo.c ./src/modules/baratinoo.c
|
||||
--- ../speechd-0.10.2/src/modules/baratinoo.c 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/modules/baratinoo.c 2021-04-05 18:06:21.834517140 +0000
|
||||
@@ -561,7 +561,7 @@
|
||||
g_usleep(25000);
|
||||
|
||||
/* Make sure the thread has really exited */
|
||||
- pthread_cancel(engine->thread);
|
||||
+ pthread_kill(engine->thread, 0);
|
||||
DBG(DBG_MODNAME "Joining threads.");
|
||||
if (pthread_join(engine->thread, NULL) != 0)
|
||||
DBG(DBG_MODNAME "Failed to join threads.");
|
||||
diff -u -r ../speechd-0.10.2/src/modules/module_utils.c ./src/modules/module_utils.c
|
||||
--- ../speechd-0.10.2/src/modules/module_utils.c 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/modules/module_utils.c 2021-04-05 18:06:21.834517140 +0000
|
||||
@@ -891,15 +891,17 @@
|
||||
DBG("Can't fill signal set, expect problems when terminating!\n");
|
||||
}
|
||||
|
||||
+#ifndef __ANDROID__
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
+#endif
|
||||
}
|
||||
|
||||
int module_terminate_thread(pthread_t thread)
|
||||
{
|
||||
int ret;
|
||||
|
||||
- ret = pthread_cancel(thread);
|
||||
+ ret = pthread_kill(thread, 0);
|
||||
if (ret != 0) {
|
||||
DBG("Cancellation of speak thread failed");
|
||||
return 1;
|
||||
diff -u -r ../speechd-0.10.2/src/server/speaking.c ./src/server/speaking.c
|
||||
--- ../speechd-0.10.2/src/server/speaking.c 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/server/speaking.c 2021-04-05 18:06:21.834517140 +0000
|
||||
@@ -950,9 +950,10 @@
|
||||
MSG(1,
|
||||
"Can't fill signal set, expect problems when terminating!");
|
||||
}
|
||||
-
|
||||
+#ifndef __ANDROID__
|
||||
pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);
|
||||
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
|
||||
+#endif __ANDROID__
|
||||
}
|
||||
|
||||
void stop_priority_except_first(SPDPriority priority)
|
||||
diff -u -r ../speechd-0.10.2/src/server/speechd.c ./src/server/speechd.c
|
||||
--- ../speechd-0.10.2/src/server/speechd.c 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/server/speechd.c 2021-04-05 18:06:21.834517140 +0000
|
||||
@@ -1285,7 +1285,7 @@
|
||||
g_hash_table_destroy(fd_settings);
|
||||
|
||||
MSG(4, "Closing speak() thread...");
|
||||
- ret = pthread_cancel(speak_thread);
|
||||
+ ret = pthread_kill(speak_thread, 0);
|
||||
if (ret != 0)
|
||||
FATAL("Speak thread failed to cancel!\n");
|
||||
|
||||
--- ../speechd-0.10.2/src/modules/Makefile.am 2020-11-24 23:38:03.000000000 +0000
|
||||
+++ ./src/modules/Makefile.am 2021-04-05 18:13:05.761394281 +0000
|
||||
@@ -134,7 +134,7 @@
|
||||
modulebin_PROGRAMS += sd_baratinoo
|
||||
sd_baratinoo_SOURCES = baratinoo.c baratinoo_compat.h $(audio_SOURCES) $(common_SOURCES) module_utils_speak_queue.c
|
||||
sd_baratinoo_LDADD = $(top_builddir)/src/common/libcommon.la \
|
||||
- $(audio_dlopen_modules) -lbaratinoo -lpthread -ldl \
|
||||
+ $(audio_dlopen_modules) -lbaratinoo -ldl \
|
||||
$(common_LDADD)
|
||||
|
||||
if baratinoo_shim
|
||||
Reference in New Issue
Block a user