curl: fix compilation

Don't use deprecated thread API
This commit is contained in:
Wim Taymans 2012-05-14 09:15:55 +02:00
parent c5a4ffcbb3
commit f710f1250b
4 changed files with 18 additions and 18 deletions

View File

@ -210,7 +210,7 @@ gst_curl_base_sink_init (GstCurlBaseSink * sink)
{ {
sink->transfer_buf = g_malloc (sizeof (TransferBuffer)); sink->transfer_buf = g_malloc (sizeof (TransferBuffer));
sink->transfer_cond = g_malloc (sizeof (TransferCondition)); sink->transfer_cond = g_malloc (sizeof (TransferCondition));
sink->transfer_cond->cond = g_cond_new (); g_cond_init (&sink->transfer_cond->cond);
sink->transfer_cond->data_sent = FALSE; sink->transfer_cond->data_sent = FALSE;
sink->transfer_cond->data_available = FALSE; sink->transfer_cond->data_available = FALSE;
sink->transfer_cond->wait_for_response = FALSE; sink->transfer_cond->wait_for_response = FALSE;
@ -234,7 +234,7 @@ gst_curl_base_sink_finalize (GObject * gobject)
} }
gst_curl_base_sink_transfer_cleanup (this); gst_curl_base_sink_transfer_cleanup (this);
g_cond_free (this->transfer_cond->cond); g_cond_clear (&this->transfer_cond->cond);
g_free (this->transfer_cond); g_free (this->transfer_cond);
g_free (this->transfer_buf); g_free (this->transfer_buf);
@ -257,7 +257,7 @@ gst_curl_base_sink_transfer_thread_notify_unlocked (GstCurlBaseSink * sink)
sink->transfer_cond->data_available = TRUE; sink->transfer_cond->data_available = TRUE;
sink->transfer_cond->data_sent = FALSE; sink->transfer_cond->data_sent = FALSE;
sink->transfer_cond->wait_for_response = TRUE; sink->transfer_cond->wait_for_response = TRUE;
g_cond_signal (sink->transfer_cond->cond); g_cond_signal (&sink->transfer_cond->cond);
} }
void void
@ -266,7 +266,7 @@ gst_curl_base_sink_transfer_thread_close (GstCurlBaseSink * sink)
GST_OBJECT_LOCK (sink); GST_OBJECT_LOCK (sink);
GST_LOG_OBJECT (sink, "setting transfer thread close flag"); GST_LOG_OBJECT (sink, "setting transfer thread close flag");
sink->transfer_thread_close = TRUE; sink->transfer_thread_close = TRUE;
g_cond_signal (sink->transfer_cond->cond); g_cond_signal (&sink->transfer_cond->cond);
GST_OBJECT_UNLOCK (sink); GST_OBJECT_UNLOCK (sink);
if (sink->transfer_thread != NULL) { if (sink->transfer_thread != NULL) {
@ -891,8 +891,8 @@ gst_curl_base_sink_transfer_start_unlocked (GstCurlBaseSink * sink)
sink->transfer_thread_close = FALSE; sink->transfer_thread_close = FALSE;
sink->new_file = TRUE; sink->new_file = TRUE;
sink->transfer_thread = sink->transfer_thread =
g_thread_create ((GThreadFunc) gst_curl_base_sink_transfer_thread_func, g_thread_try_new ("Curl Transfer Thread", (GThreadFunc)
sink, TRUE, &error); gst_curl_base_sink_transfer_thread_func, sink, &error);
if (sink->transfer_thread == NULL || error != NULL) { if (sink->transfer_thread == NULL || error != NULL) {
ret = FALSE; ret = FALSE;
@ -1055,7 +1055,7 @@ gst_curl_base_sink_wait_for_data_unlocked (GstCurlBaseSink * sink)
GST_LOG ("waiting for data"); GST_LOG ("waiting for data");
while (!sink->transfer_cond->data_available && while (!sink->transfer_cond->data_available &&
!sink->transfer_thread_close && !sink->new_file) { !sink->transfer_thread_close && !sink->new_file) {
g_cond_wait (sink->transfer_cond->cond, GST_OBJECT_GET_LOCK (sink)); g_cond_wait (&sink->transfer_cond->cond, GST_OBJECT_GET_LOCK (sink));
} }
if (sink->transfer_thread_close) { if (sink->transfer_thread_close) {
@ -1075,7 +1075,7 @@ gst_curl_base_sink_new_file_notify_unlocked (GstCurlBaseSink * sink)
{ {
GST_LOG ("new file name"); GST_LOG ("new file name");
sink->new_file = TRUE; sink->new_file = TRUE;
g_cond_signal (sink->transfer_cond->cond); g_cond_signal (&sink->transfer_cond->cond);
} }
static void static void
@ -1089,7 +1089,7 @@ static void
* This can therefore never happen while this function is running since this * This can therefore never happen while this function is running since this
* function also is called by the pipeline thread (in the render function) */ * function also is called by the pipeline thread (in the render function) */
while (!sink->transfer_cond->data_sent) { while (!sink->transfer_cond->data_sent) {
g_cond_wait (sink->transfer_cond->cond, GST_OBJECT_GET_LOCK (sink)); g_cond_wait (&sink->transfer_cond->cond, GST_OBJECT_GET_LOCK (sink));
} }
GST_LOG ("buffer send completed"); GST_LOG ("buffer send completed");
} }
@ -1101,7 +1101,7 @@ gst_curl_base_sink_data_sent_notify (GstCurlBaseSink * sink)
GST_OBJECT_LOCK (sink); GST_OBJECT_LOCK (sink);
sink->transfer_cond->data_available = FALSE; sink->transfer_cond->data_available = FALSE;
sink->transfer_cond->data_sent = TRUE; sink->transfer_cond->data_sent = TRUE;
g_cond_signal (sink->transfer_cond->cond); g_cond_signal (&sink->transfer_cond->cond);
GST_OBJECT_UNLOCK (sink); GST_OBJECT_UNLOCK (sink);
} }
@ -1112,7 +1112,7 @@ gst_curl_base_sink_wait_for_response (GstCurlBaseSink * sink)
GST_OBJECT_LOCK (sink); GST_OBJECT_LOCK (sink);
while (sink->transfer_cond->wait_for_response) { while (sink->transfer_cond->wait_for_response) {
g_cond_wait (sink->transfer_cond->cond, GST_OBJECT_GET_LOCK (sink)); g_cond_wait (&sink->transfer_cond->cond, GST_OBJECT_GET_LOCK (sink));
} }
GST_OBJECT_UNLOCK (sink); GST_OBJECT_UNLOCK (sink);
@ -1126,7 +1126,7 @@ gst_curl_base_sink_got_response_notify (GstCurlBaseSink * sink)
GST_OBJECT_LOCK (sink); GST_OBJECT_LOCK (sink);
sink->transfer_cond->wait_for_response = FALSE; sink->transfer_cond->wait_for_response = FALSE;
g_cond_signal (sink->transfer_cond->cond); g_cond_signal (&sink->transfer_cond->cond);
GST_OBJECT_UNLOCK (sink); GST_OBJECT_UNLOCK (sink);
} }

View File

@ -52,7 +52,7 @@ struct _TransferBuffer
struct _TransferCondition struct _TransferCondition
{ {
GCond *cond; GCond cond;
gboolean data_sent; gboolean data_sent;
gboolean data_available; gboolean data_available;
gboolean wait_for_response; gboolean wait_for_response;

View File

@ -127,7 +127,7 @@ gst_curl_smtp_sink_notify_transfer_end_unlocked (GstCurlSmtpSink * sink)
{ {
GST_LOG ("transfer completed: %d", sink->transfer_end); GST_LOG ("transfer completed: %d", sink->transfer_end);
sink->transfer_end = TRUE; sink->transfer_end = TRUE;
g_cond_signal (sink->cond_transfer_end); g_cond_signal (&sink->cond_transfer_end);
} }
static void static void
@ -136,7 +136,7 @@ gst_curl_smtp_sink_wait_for_transfer_end_unlocked (GstCurlSmtpSink * sink)
GST_LOG ("waiting for final data do be sent: %d", sink->transfer_end); GST_LOG ("waiting for final data do be sent: %d", sink->transfer_end);
while (!sink->transfer_end) { while (!sink->transfer_end) {
g_cond_wait (sink->cond_transfer_end, GST_OBJECT_GET_LOCK (sink)); g_cond_wait (&sink->cond_transfer_end, GST_OBJECT_GET_LOCK (sink));
} }
GST_LOG ("final data sent"); GST_LOG ("final data sent");
} }
@ -292,7 +292,7 @@ gst_curl_smtp_sink_init (GstCurlSmtpSink * sink)
sink->payload_headers = NULL; sink->payload_headers = NULL;
sink->base64_chunk = NULL; sink->base64_chunk = NULL;
sink->cond_transfer_end = g_cond_new (); g_cond_init (&sink->cond_transfer_end);
sink->transfer_end = FALSE; sink->transfer_end = FALSE;
sink->eos = FALSE; sink->eos = FALSE;
@ -321,7 +321,7 @@ gst_curl_smtp_sink_finalize (GObject * gobject)
g_free (this->message_body); g_free (this->message_body);
g_free (this->content_type); g_free (this->content_type);
g_cond_free (this->cond_transfer_end); g_cond_clear (&this->cond_transfer_end);
if (this->base64_chunk != NULL) { if (this->base64_chunk != NULL) {
if (this->base64_chunk->chunk_array != NULL) { if (this->base64_chunk->chunk_array != NULL) {

View File

@ -69,7 +69,7 @@ struct _GstCurlSmtpSink
CURL *pop_curl; CURL *pop_curl;
gboolean transfer_end; gboolean transfer_end;
GCond *cond_transfer_end; GCond cond_transfer_end;
gint nbr_attachments_left; gint nbr_attachments_left;
gboolean reset_transfer_options; gboolean reset_transfer_options;