From c6b85a0a7a57c31b7211665c1594964812333e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 8 Dec 2009 14:15:58 +0000 Subject: [PATCH] * The transfer_area() test was not updated to its newer semantics, works again now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34553 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../system/kernel/transfer_area_test.cpp | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/src/tests/system/kernel/transfer_area_test.cpp b/src/tests/system/kernel/transfer_area_test.cpp index 9425dbc1f5..7432bd7054 100644 --- a/src/tests/system/kernel/transfer_area_test.cpp +++ b/src/tests/system/kernel/transfer_area_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2005, Axel Dörfler, axeld@pinc-software.de. + * Copyright 2005-2009, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. */ @@ -32,42 +32,48 @@ main(int argc, char **argv) get_port_info(port, &info); char *address; - area = create_area("test transfer area", (void **)&address, B_ANY_ADDRESS, B_PAGE_SIZE, - B_NO_LOCK, B_READ_AREA | B_WRITE_AREA); - if (area < B_OK) { + area = create_area("test transfer area", (void **)&address, + B_ANY_ADDRESS, B_PAGE_SIZE, B_NO_LOCK, B_READ_AREA | B_WRITE_AREA); + if (area < 0) { fprintf(stderr, "Could not create area: %s.\n", strerror(area)); - return -1; + return 1; } sprintf(address, "Oh my god - it's working! (%s)", argv[1]); - status_t status = _kern_transfer_area(area, (void **)&address, B_ANY_ADDRESS, info.team); - if (status < B_OK) { - fprintf(stderr, "Could not transfer area: %s.\n", strerror(status)); - return -1; + area_id targetArea = _kern_transfer_area(area, (void **)&address, + B_ANY_ADDRESS, info.team); + if (targetArea < 0) { + fprintf(stderr, "Could not transfer area: %s.\n", + strerror(targetArea)); + return 1; } - write_port(port, area, NULL, 0); + write_port(port, targetArea, NULL, 0); } else { // we're the receiver port = create_port(1, kPortName); - if (port < B_OK) { + if (port < 0) { fprintf(stderr, "Could not create port: %s.\n", strerror(area)); - return -1; + return 1; } - puts("Waiting for an area to be received (start same command again with an argument)..."); + puts("Waiting for an area to be received (start command again with an " + "argument)..."); ssize_t size; if ((size = read_port(port, (int32 *)&area, NULL, 0)) < B_OK) { fprintf(stderr, "Reading from port failed: %s.\n", strerror(size)); - return -1; + return 1; } printf("Received Area %ld\n", area); area_info info; - get_area_info(area, &info); + if (get_area_info(area, &info) != B_OK) { + fprintf(stderr, "Could not get area info.\n"); + return 1; + } printf(" name = \"%s\", base = %p, size = %#lx, team = %ld\n", info.name, info.address, info.size, info.team); printf(" contents: %s\n", (char *)info.address);