add: }
context: receive_data_etc(thread_id *_sender, void *buffer, size_t bufferSize, int32 flags){	struct thread *thread = thread_get_current_thread();	status_t status;	size_t size;	int32 code;	status = acquire_sem_etc(thread->msg.read_sem, 1, flags, 0);	if (status < B_OK)		return status;	if (buffer != NULL && bufferSize != 0) {		size = min(bufferSize, thread->msg.size);		status = cbuf_user_memcpy_from_chain(buffer, thread->msg.buffer, 0, size);		if (status < B_OK) {			cbuf_free_chain(thread->msg.buffer);			release_sem(thread->msg.write_sem);			return status;		}	}	*_sender = thread->msg.sender;	code = thread->msg.code;	cbuf_free_chain(thread->msg.buffer);	release_sem(thread->msg.write_sem);	return code;}