projects
/
ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Privatize headers
[ust.git]
/
libustconsumer
/
libustconsumer.c
diff --git
a/libustconsumer/libustconsumer.c
b/libustconsumer/libustconsumer.c
index abf21d801ca1473fd8b1b3c1453636361fc0199a..c6dd20c355050c69c04ec8a5e97562f9d49c7056 100644
(file)
--- a/
libustconsumer/libustconsumer.c
+++ b/
libustconsumer/libustconsumer.c
@@
-146,7
+146,7
@@
void decrement_active_buffers(void *arg)
pthread_mutex_unlock(&instance->mutex);
}
pthread_mutex_unlock(&instance->mutex);
}
-static int get_pidunique(int sock,
s64
*pidunique)
+static int get_pidunique(int sock,
int64_t
*pidunique)
{
struct ustcomm_header _send_hdr, *send_hdr;
struct ustcomm_header _recv_hdr, *recv_hdr;
{
struct ustcomm_header _send_hdr, *send_hdr;
struct ustcomm_header _recv_hdr, *recv_hdr;
@@
-543,6
+543,10
@@
void *consumer_thread(void *arg)
int result;
sigset_t sigset;
int result;
sigset_t sigset;
+ pthread_mutex_lock(&args->instance->mutex);
+ args->instance->active_threads++;
+ pthread_mutex_unlock(&args->instance->mutex);
+
if(args->instance->callbacks->on_new_thread)
args->instance->callbacks->on_new_thread(args->instance->callbacks);
if(args->instance->callbacks->on_new_thread)
args->instance->callbacks->on_new_thread(args->instance->callbacks);
@@
-584,6
+588,10
@@
void *consumer_thread(void *arg)
if(args->instance->callbacks->on_close_thread)
args->instance->callbacks->on_close_thread(args->instance->callbacks);
if(args->instance->callbacks->on_close_thread)
args->instance->callbacks->on_close_thread(args->instance->callbacks);
+ pthread_mutex_lock(&args->instance->mutex);
+ args->instance->active_threads--;
+ pthread_mutex_unlock(&args->instance->mutex);
+
free((void *)args->channel);
free(args);
return NULL;
free((void *)args->channel);
free(args);
return NULL;
@@
-735,7
+743,7
@@
int ustconsumer_start_instance(struct ustconsumer_instance *instance)
if (instance->quit_program) {
pthread_mutex_lock(&instance->mutex);
if (instance->quit_program) {
pthread_mutex_lock(&instance->mutex);
- if
(instance->active_buffer
s == 0) {
+ if
(instance->active_buffers == 0 && instance->active_thread
s == 0) {
pthread_mutex_unlock(&instance->mutex);
break;
}
pthread_mutex_unlock(&instance->mutex);
break;
}
This page took
0.023247 seconds
and
4
git commands to generate.