From 754b7065196871546f79e4fd2cad089b511562fb Mon Sep 17 00:00:00 2001 From: Karsten Heimrich Date: Thu, 4 Sep 2008 16:07:11 +0000 Subject: [PATCH] * calling receive_data with NULL as first argument(thread_id) failed on Haiku, this makes e.g. painting in ArtPaint work Don't know if this is the best place to fix it though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27322 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/libroot/os/thread.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/system/libroot/os/thread.c b/src/system/libroot/os/thread.c index 647ba05ffa..45a9c2e205 100644 --- a/src/system/libroot/os/thread.c +++ b/src/system/libroot/os/thread.c @@ -115,7 +115,7 @@ _thread_do_exit_notification(void) { callback_node *node = tls_get(TLS_ON_EXIT_THREAD_SLOT); callback_node *next; - + while (node != NULL) { next = node->next; @@ -179,6 +179,10 @@ send_data(thread_id thread, int32 code, const void *buffer, size_t bufferSize) int32 receive_data(thread_id *_sender, void *buffer, size_t bufferSize) { + if (_sender == NULL) { + thread_id id; + return _kern_receive_data(&id, buffer, bufferSize); + } return _kern_receive_data(_sender, buffer, bufferSize); }