Changeset 10557 in vbox for trunk/src/VBox/Devices/Network/testcase
- Timestamp:
- Jul 12, 2008 12:19:35 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 33250
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/testcase/tstIntNetR0.cpp ¶
r10524 r10557 487 487 /* 488 488 * Start threaded testcase. 489 * Give it 5 mins to finish. 489 490 */ 490 491 if (!g_cErrors) … … 520 521 { 521 522 int rc2 = VINF_SUCCESS; 522 rc = RTThreadWait(ThreadSend0, 30000, &rc2); 523 if ( VBOX_SUCCESS(rc) 524 && VBOX_SUCCESS(rc2)) 525 rc = RTThreadWait(ThreadSend1, 30000, &rc2); 523 rc = RTThreadWait(ThreadSend0, 5*60*1000, &rc2); 524 #if 1 /** @todo it looks like I'm subject to some false wakeup calls here. (2.6.23-gentoo-r3 amd64) */ 525 for (int cTries = 100; rc == VERR_TIMEOUT && cTries > 0; cTries--) 526 { 527 RTThreadSleep(1); 528 rc = RTThreadWait(ThreadSend0, 1, &rc2); 529 } 530 #endif 531 AssertRC(rc); 532 if (VBOX_SUCCESS(rc)) 533 { 534 ThreadSend0 = NIL_RTTHREAD; 535 rc = RTThreadWait(ThreadSend1, 5*60*1000, RT_SUCCESS(rc2) ? &rc2 : NULL); 536 #if 1 /** @todo it looks like I'm subject to some false wakeup calls here. (2.6.23-gentoo-r3 amd64) */ 537 for (int cTries = 100; rc == VERR_TIMEOUT && cTries > 0; cTries--) 538 { 539 RTThreadSleep(1); 540 rc = RTThreadWait(ThreadSend1, 1, &rc2); 541 } 542 #endif 543 AssertRC(rc); 544 if (RT_SUCCESS(rc)) 545 ThreadSend1 = NIL_RTTHREAD; 546 } 526 547 if ( VBOX_SUCCESS(rc) 527 548 && VBOX_SUCCESS(rc2)) … … 544 565 * Closing time... 545 566 */ 567 rc = RTThreadWait(ThreadRecv0, 5000, &rc2); 568 if (RT_SUCCESS(rc)) 569 ThreadRecv0 = NIL_RTTHREAD; 570 if (VBOX_FAILURE(rc) || VBOX_FAILURE(rc2)) 571 { 572 RTPrintf("tstIntNetR0: Failed waiting on receiver thread 0, rc=%Vrc, rc2=%Vrc\n", rc, rc2); 573 g_cErrors++; 574 } 575 576 rc = RTThreadWait(ThreadRecv1, 5000, &rc2); 577 if (RT_SUCCESS(rc)) 578 ThreadRecv1 = NIL_RTTHREAD; 579 if (VBOX_FAILURE(rc) || VBOX_FAILURE(rc2)) 580 { 581 RTPrintf("tstIntNetR0: Failed waiting on receiver thread 1, rc=%Vrc, rc2=%Vrc\n", rc, rc2); 582 g_cErrors++; 583 } 584 546 585 rc = INTNETR0IfClose(pIntNet, hIf0); 547 586 if (VBOX_SUCCESS(rc)) … … 555 594 g_cErrors++; 556 595 } 596 557 597 rc = INTNETR0IfClose(pIntNet, hIf1); 558 598 if (VBOX_SUCCESS(rc)) … … 567 607 } 568 608 569 rc = RTThreadWait(ThreadRecv0, 5000, &rc2);570 if (VBOX_FAILURE(rc) || VBOX_FAILURE(rc2))571 {572 RTPrintf("tstIntNetR0: Failed waiting on receiver thread 0, rc=%Vrc, rc2=%Vrc\n", rc, rc2);573 g_cErrors++;574 }575 576 rc = RTThreadWait(ThreadRecv1, 5000, &rc2);577 if (VBOX_FAILURE(rc) || VBOX_FAILURE(rc2))578 {579 RTPrintf("tstIntNetR0: Failed waiting on receiver thread 1, rc=%Vrc, rc2=%Vrc\n", rc, rc2);580 g_cErrors++;581 }582 609 583 610 /* check if the network still exist... */ … … 593 620 g_cErrors++; 594 621 } 622 623 /* 624 * Give them a chance to complete... 625 */ 626 RTThreadWait(ThreadRecv0, 5000, NULL); 627 RTThreadWait(ThreadRecv1, 5000, NULL); 628 RTThreadWait(ThreadSend0, 5000, NULL); 629 RTThreadWait(ThreadSend1, 5000, NULL); 630 595 631 } 596 632 else … … 618 654 g_cErrors++; 619 655 } 656 657 if (hIf1 != INTNET_HANDLE_INVALID) 658 rc = INTNETR0IfClose(pIntNet, hIf1); 620 659 } 621 660 else … … 624 663 g_cErrors++; 625 664 } 665 666 if (hIf0 != INTNET_HANDLE_INVALID) 667 rc = INTNETR0IfClose(pIntNet, hIf0); 626 668 } 627 669 else
Note:
See TracChangeset
for help on using the changeset viewer.